26 votes

What programming language do you use for work and what's your favorite language?

I think there's often a discrepancy between what people program in for work and for pleasure, and I thought it'd be fun to do a survey of tildes users.

54 comments

  1. [2]
    demifiend
    Link
    C# at work, shell at home. I only code for a living because it pays better than cleaning toilets; if janitors made as much as developers I'd trade my cubicle for a mop and bucket instead of...

    C# at work, shell at home. I only code for a living because it pays better than cleaning toilets; if janitors made as much as developers I'd trade my cubicle for a mop and bucket instead of devoting the majority of what little intelligence and creativity I possess to making rich assholes richer.

    33 votes
    1. Przmk
      Link Parent
      I'm in the same boat. I would love to not code at work so I can go back home and still have the energy to do some development as a hobby and not be bothered by all this bureaucracy.

      I'm in the same boat. I would love to not code at work so I can go back home and still have the energy to do some development as a hobby and not be bothered by all this bureaucracy.

      11 votes
  2. [2]
    Amarok
    Link
    I must be the only sysadmin out there who intentionally avoids learning any programming languages. A little java, a little TSQL, perl and bash are my horseradish. Occasionally PHP. Some...

    I must be the only sysadmin out there who intentionally avoids learning any programming languages. A little java, a little TSQL, perl and bash are my horseradish. Occasionally PHP. Some powershell. I try to avoid them all, I end up fixing everyone else's busted toys, and I don't really feel like I 'know' any of them. It's just code - you read it, then you fix it. What's the language matter? When I muck about in the guts of the OS and server components it's all the same to me. Sometimes you open a snippet and it's 4d chess, but usually, things aren't that complicated, because people aren't that clever.

    I feel like if I was going to pick a language to learn and get into seriously again, I'd start with Python, mostly because I could pitch in with Tildes. Most of my real, honest programming was in college... pascal, cobol, fortran, assembly, c, lisp as a hobby. I learned the old-school languages. Maybe that's why the new stuff seems so samey to me - it's practically english compared to what I started with.

    11 votes
    1. patience_limited
      (edited )
      Link Parent
      Yep, another old-schooler, mostly in the same boat. I was warped enough in high school that assembly was fun, like number knitting for nerds. I moved along to MatLab in grad school. [I've learned...

      Yep, another old-schooler, mostly in the same boat. I was warped enough in high school that assembly was fun, like number knitting for nerds. I moved along to MatLab in grad school. [I've learned some human language since.]

      I had to do a fair amount of HTML/CSS/LAMP stack stuff for a couple of years, but drew the line at JavaScript.

      I am trying to get a little more modern via Automate the Boring Stuff, but it's more to support a passing interest in data analytics and statistical work again. I've found I can't stay focused enough for multiple hours of coding anymore, and want to crank VMs around instead.

      5 votes
  3. [2]
    uselessabstraction
    Link
    Well, I'm a machinist by trade, so the only code I ever write at work is FANUC G-Code, but I've been loving Rust for some late-night recreational hacking. The fun thing about programming in G-Code...

    Well, I'm a machinist by trade, so the only code I ever write at work is FANUC G-Code, but I've been loving Rust for some late-night recreational hacking.

    The fun thing about programming in G-Code is when your program "crashes," it actually crashes. (It actually isn't very much fun)

    8 votes
    1. poopfeast6969
      Link Parent
      Is it pretty standard to actually hand write g codes? I got the impression most of the stuff in industry is done with compilers and simulations from 3d models.

      Is it pretty standard to actually hand write g codes? I got the impression most of the stuff in industry is done with compilers and simulations from 3d models.

  4. [4]
    Ordinator
    Link
    I write code in any number of languages at work, and it tends to shift over time. Right now I mostly write/maintain C++ and Java, with a bit of Rust thrown in where I can. Matlab and Python are...

    I write code in any number of languages at work, and it tends to shift over time. Right now I mostly write/maintain C++ and Java, with a bit of Rust thrown in where I can. Matlab and Python are also workhorses for my group.

    Side projects tend to get written in either Rust or C# depending on whether I want a GC or not.

    Rust is by far my favorite lately. It just makes it so much harder to mess up without realizing it. Unfortunately I work with researchers for whom C++ is already a huge stretch, so I dread getting them to learn enough to by productive in Rust.

    6 votes
    1. [3]
      halfjew22
      Link Parent
      As a novice intermediate / experienced beginner programmer, something you said struck me as an interesting decision criteria: What kinds of projects on the side would involve the decisions and...

      As a novice intermediate / experienced beginner programmer, something you said struck me as an interesting decision criteria:

      whether I want a GC or not

      What kinds of projects on the side would involve the decisions and what kinds of thinking would go into them?

      1 vote
      1. [2]
        tiredlemma
        Link Parent
        Not sure this applies to side projects, but an example of the garbage collection decision that I ran into early in my career was in implementing aerospace controls. GC can stop the execution of...

        Not sure this applies to side projects, but an example of the garbage collection decision that I ran into early in my career was in implementing aerospace controls. GC can stop the execution of your program while it does its business, and that is a major no-no in safety critical systems! For fun projects with no risk of harm to persons or property it is probably less important, though a more competent CS person than I can surely point out additional considerations.

        2 votes
        1. halfjew22
          Link Parent
          What a cool example!! Thank you for sharing. That’s kind of what I figured, but the side project bit threw me off...

          What a cool example!!

          Thank you for sharing. That’s kind of what I figured, but the side project bit threw me off...

          1 vote
  5. markh
    Link
    I mostly write Javascript/HTML/CSS at work with a smattering of Java here and there. I’m developing all of my side projects in Elixir/Erlang. I also occasionally work with Shopify stores, so I...

    I mostly write Javascript/HTML/CSS at work with a smattering of Java here and there. I’m developing all of my side projects in Elixir/Erlang. I also occasionally work with Shopify stores, so I sometimes write Ruby/Liquid.

    5 votes
  6. s3rvant
    Link
    HTML / CSS / JavaScript / PHP / SQL web applications and some light bash scripting for background tasks. PHP is my fav

    HTML / CSS / JavaScript / PHP / SQL web applications and some light bash scripting for background tasks.

    PHP is my fav

    4 votes
  7. tiredlemma
    Link
    PowerPoint, unfortunately :( I used to do a lot in Python, Rust, & Java/Scala with a healthy dose of shell scripting. I still write business artifacts in LaTEX just for fuck's sake, but those...

    PowerPoint, unfortunately :(

    I used to do a lot in Python, Rust, & Java/Scala with a healthy dose of shell scripting. I still write business artifacts in LaTEX just for fuck's sake, but those control sequences are about as close to code as I get anymore.

    Forgot favorite language: I used to express my masochism in C, but have found enlightenment in Rust.

    4 votes
  8. [2]
    Guyon
    (edited )
    Link
    ABAP - a proprietary language by SAP. Here are some code examples if anyone is interested. It's the worst language I've ever seen in my life. It has nearly one thousand keywords, and to my...

    ABAP - a proprietary language by SAP.

    Here are some code examples if anyone is interested.

    It's the worst language I've ever seen in my life. It has nearly one thousand keywords, and to my knowledge, the majority of them are deprecated. It's been around since 1983 and it feels like it. The language is still undergoing active changes, and to be fair, coming from a C++/Java background, the changes are normally pretty refreshing.

    I still love what I do. Classic British cars may not be the most reliable products in the world, but that won't stop a mechanic who loves tinkering from playing around with them. Writing in a difficult language comes with interesting challenges, and that's what I love.

    Oh, and finally, the ABAP documentation is trash, and the whole ABAP programming culture is entirely unacademic. There's hardly any desire to write clean and modern code in this language. Lots of "well this is the way we've always done it".

    That all said, although I'm probably most skilled in Java, C++ is probably my favorite language.

    4 votes
    1. cprayingmantis
      Link Parent
      Oh man, never thought I'd see anyone else that knew the pain of ABAP. What got me about it is it's looseness at some points and strictness at others. Feels like two different teams or individuals...

      Oh man, never thought I'd see anyone else that knew the pain of ABAP. What got me about it is it's looseness at some points and strictness at others. Feels like two different teams or individuals wrote it. One very lax and business like and the other very strict and wanting to enforce good code standards.

      1 vote
  9. aphoenix
    Link
    I write Python, Typescript, PHP, and I'm trying to introduce Go for work. At home, Python, Go, a bit of rust, a bit of Lua.

    I write Python, Typescript, PHP, and I'm trying to introduce Go for work.

    At home, Python, Go, a bit of rust, a bit of Lua.

    3 votes
  10. Neurotrace
    Link
    At work it's JavaScript, TypeScript, C#, HTML, CSS, and SQL at work. For a long time, JavaScript has been my favorite language but that's been shifting to Rust over the last few months

    At work it's JavaScript, TypeScript, C#, HTML, CSS, and SQL at work. For a long time, JavaScript has been my favorite language but that's been shifting to Rust over the last few months

    3 votes
  11. cstby
    Link
    Clojure and Clojurescript for work and hobby. And a little bit of emacs lisp.

    Clojure and Clojurescript for work and hobby. And a little bit of emacs lisp.

    3 votes
  12. rogue_cricket
    Link
    Mostly Clojure for work, considering moving to Go. I may also end up working for a spot that uses Kotlin, but we'll see how that goes! My hobby stuff is mostly in JS, although I'd also like to...

    Mostly Clojure for work, considering moving to Go. I may also end up working for a spot that uses Kotlin, but we'll see how that goes! My hobby stuff is mostly in JS, although I'd also like to learn C#.

    3 votes
  13. seanfeeney
    Link
    powershell at work, and powershell at home. I'm trying to learn more but none have really stuck, go has been interesting to try and learn though.

    powershell at work, and powershell at home. I'm trying to learn more but none have really stuck, go has been interesting to try and learn though.

    2 votes
  14. Nitta
    Link
    Kotlin! The language is a breeze. Makes Android programming nicer, and allows processing some files on desktop quickly by writing a little script-like program. There's one thing missing though:...

    Kotlin! The language is a breeze. Makes Android programming nicer, and allows processing some files on desktop quickly by writing a little script-like program. There's one thing missing though: the ternary operator. Instead of writing enabled ? visible : hidden I have to write if (enabled) visible else hidden

    2 votes
  15. lazer
    Link
    At work I use primarily C#, Rust, and Python; I don't really have a "favorite" but the one I'm having fun with at the moment at home is Go.

    At work I use primarily C#, Rust, and Python; I don't really have a "favorite" but the one I'm having fun with at the moment at home is Go.

    2 votes
  16. V-X
    Link
    At work I've been lucky enough to have the freedom to choose whatever language our team is feeling like using without any major process constraints so we've been playing with C#, Go, TypeScript,...

    At work I've been lucky enough to have the freedom to choose whatever language our team is feeling like using without any major process constraints so we've been playing with C#, Go, TypeScript, Elixer, and we're very closely eyeing Blazor and I suspect we'll pick it up once .Net Core 3.0 drops this April.

    At home I'm primarily using C#, however I use pretty much every language out there just to get some exposure, C++, Rust, x86 ASM, Elixer, Go, Nim (side note, Nim is awesome!), and I plan to take out Vlang for a spin soon here.

    2 votes
  17. brandt
    Link
    Work: Go, Ruby, and Bash. Home: Ruby, Go, Bash, and occasional JavaScript for frontend stuff. I think it's helpful to know: An expressive scripting language (ex: Python, Ruby) A compiled,...
    • Work: Go, Ruby, and Bash.
    • Home: Ruby, Go, Bash, and occasional JavaScript for frontend stuff.

    I think it's helpful to know:

    1. An expressive scripting language (ex: Python, Ruby)
    2. A compiled, lower-level language (ex: Go, Rust, C)
    3. Shell script
    4. JavaScript or something that compiles into it (because frontend)

    If you have those in your toolbox, you'll almost always have the right tool for the job -- regardless of the language.

    2 votes
  18. matejc
    Link
    At work I use NodeJS for services, slowly switching my mind to Go, Bash for small stuff, Python for bigger jobs, Nix for building services and deploy environments. In the past I have been...

    At work I use NodeJS for services, slowly switching my mind to Go, Bash for small stuff, Python for bigger jobs, Nix for building services and deploy environments. In the past I have been experimenting with Delphi (long time ago), Java, C. If I really had to choose the favourite language ... probably Nix or Python, of course every language can be used for almost everything, but choosing the right language for the job is more important than sticking to one.

    2 votes
  19. base_class
    Link
    C++ and C# at work with some occasional Python. I'm not sure what my favorite language is though. Python is easy to use but rarely leaves me with a feeling of satisfaction. C++ is what I'm best at...

    C++ and C# at work with some occasional Python. I'm not sure what my favorite language is though. Python is easy to use but rarely leaves me with a feeling of satisfaction. C++ is what I'm best at and I admire well written C++ more than anything else, so maybe it's my favorite. I've just recently started using C# and I feel like I'm really just acting like it's C++ and then I hit stackoverflow when it doesn't work. I have noticed that it's a lot easier to work with than C++ though.

    All the comments here are making me think I need to try Rust.

    2 votes
  20. lobtask
    Link
    As a high school student I can't really comment on what language I use for work. But my personal favorite languages are C, Rust, Golang, and Bash. Recently, Rust has replaced many of my C based...

    As a high school student I can't really comment on what language I use for work. But my personal favorite languages are C, Rust, Golang, and Bash. Recently, Rust has replaced many of my C based side projects. Anything web related or high level stuff is done with Go. Anything relating to automating the workflow on my computer is done in Bash.

    2 votes
  21. [6]
    wraithm
    Link
    For me, there's no discrepancy. I'm a Haskell user at work and mostly in my hobby programming too. Though, I had some fun learning Rust recently.

    For me, there's no discrepancy. I'm a Haskell user at work and mostly in my hobby programming too. Though, I had some fun learning Rust recently.

    1 vote
    1. [4]
      unknown user
      (edited )
      Link Parent
      Haskell remains the one language that I've attempted to put effort into learning and have thus far failed, which definitely had an impact on how I view my programming skills. It didn't click for...

      Haskell remains the one language that I've attempted to put effort into learning and have thus far failed, which definitely had an impact on how I view my programming skills. It didn't click for me, and I'm afraid it never will. Is it really possible to use it for more than just toy projects?

      4 votes
      1. whispersilk
        Link Parent
        Pandoc is written in Haskell, so it's definitely possible.

        Pandoc is written in Haskell, so it's definitely possible.

        3 votes
      2. joelthelion
        Link Parent
        It took me more than 10 years to get it :) I don't think I'll end up using it a lot (not a great fit for the kind of work I do), but I learned a lot in the process and am a much better programmer...

        It took me more than 10 years to get it :)

        I don't think I'll end up using it a lot (not a great fit for the kind of work I do), but I learned a lot in the process and am a much better programmer because of it.

        1 vote
      3. Guyon
        Link Parent
        That's how I felt about Ruby on Rails. Every other language seemed to stick well and stick fast. I can tell Ruby on Rails is a wonderful, powerful language, but I really struggled to use it, which...

        That's how I felt about Ruby on Rails. Every other language seemed to stick well and stick fast. I can tell Ruby on Rails is a wonderful, powerful language, but I really struggled to use it, which was humbling.

        1 vote
    2. Neurotrace
      Link Parent
      Actual question: what do you write professionally in Haskell? I've dabbled in it but I was under the impression that it was almost exclusively used for academic exercises and not for actual...

      Actual question: what do you write professionally in Haskell? I've dabbled in it but I was under the impression that it was almost exclusively used for academic exercises and not for actual industry work

      2 votes
  22. [2]
    ddevil
    Link
    With a primarily Java background, I switched to Kotlin a few years ago and it's been amazing. I feel much more productive, it's more enjoyable, I don't have to worry about NPEs. I've been working...

    With a primarily Java background, I switched to Kotlin a few years ago and it's been amazing. I feel much more productive, it's more enjoyable, I don't have to worry about NPEs. I've been working in a Ruby codebase lately and I'm really missing Kotlin and a statically typed language.

    1 vote
    1. Akir
      Link Parent
      While I had really loved Java in the past, it feels like it is dying for pretty much everything outside of enterprise use, and enterprise is where technology goes to die. Sure, there are many...

      While I had really loved Java in the past, it feels like it is dying for pretty much everything outside of enterprise use, and enterprise is where technology goes to die. Sure, there are many people still developing Android apps with it, but it seems Kotlin is taking that away.

      I know there are many facits to why Java is dying, but I am blaming Oracle for it. They have done a lot of damage to it's reputation.

      3 votes
  23. ericskiff
    Link
    Ruby On Rails at work, mostly python, circuitpython, and Arduino stuff at home for my hardware projects

    Ruby On Rails at work, mostly python, circuitpython, and Arduino stuff at home for my hardware projects

    1 vote
  24. maybemabe
    Link
    PHP, JS for work and Python, JS at home. Doing web dev. Switched from PHP to Python for personal projects just to add another market dominated language to my skill set, not because maybe it is better.

    PHP, JS for work and Python, JS at home. Doing web dev. Switched from PHP to Python for personal projects just to add another market dominated language to my skill set, not because maybe it is better.

    1 vote
  25. [3]
    Tygrak
    Link
    C# and JS (extendscript) at work. C# and Dart, some Python at home. C# is pretty great :).

    C# and JS (extendscript) at work. C# and Dart, some Python at home. C# is pretty great :).

    1 vote
    1. [2]
      Tomate
      Link Parent
      I’m working with C# too - and I kinda like it too. Microsoft is putting a lot of energy into this language. Do you use Core or the normal Framework? But at home I have a little more fun with...

      I’m working with C# too - and I kinda like it too. Microsoft is putting a lot of energy into this language.
      Do you use Core or the normal Framework?

      But at home I have a little more fun with Python and C, since microchips and dotnet aren’t loving each other so far :)

      2 votes
      1. Tygrak
        Link Parent
        At work mostly .net, at home mostly .net core, because I use Linux most of the time at home :).

        At work mostly .net, at home mostly .net core, because I use Linux most of the time at home :).

        2 votes
  26. mari
    Link
    HTML / CSS/ JS (both browser and Node) & PHP at work. My favorite language is probably Rust at the moment, having the performance of C++ while not having to deal with memory issues is great.

    HTML / CSS/ JS (both browser and Node) & PHP at work. My favorite language is probably Rust at the moment, having the performance of C++ while not having to deal with memory issues is great.

    1 vote
  27. [5]
    yamalight
    Link
    Using a lot of javascript, java and python for work (data science-y stuff). Absolutely love javascript (to an extent where I stream and make videos about it). ES2015+ updates are turning it into...

    Using a lot of javascript, java and python for work (data science-y stuff). Absolutely love javascript (to an extent where I stream and make videos about it). ES2015+ updates are turning it into an amazing language. And now that we have wasm - you can even achieve pretty good performance without sacrificing portability.

    1 vote
    1. [4]
      Tomate
      Link Parent
      I’ve worked with Java a few years ago and when I had to switch to C# it felt extremely similar. Can’t really draw a line with your love of JavaScript tho - I really hate this node modules stuff...

      I’ve worked with Java a few years ago and when I had to switch to C# it felt extremely similar.
      Can’t really draw a line with your love of JavaScript tho - I really hate this node modules stuff with passion :-D

      1. [3]
        yamalight
        Link Parent
        Why though? While there's indeed a lot of node (and js) modules out there (which btw is not that different from java and maven packages) - that diversity is great. You can find just about anything...

        Why though? While there's indeed a lot of node (and js) modules out there (which btw is not that different from java and maven packages) - that diversity is great. You can find just about anything you want and - majority of time - it'll work equally good in browser, node and even on the phones. Isn't that amazing?

        1. [2]
          Tomate
          Link Parent
          One of the biggest reason I have in mind is the good old example with the pad left package, that shut down half of the internet when it was removed. It feels like npm introduced a whole new level...

          One of the biggest reason I have in mind is the good old example with the pad left package, that shut down half of the internet when it was removed. It feels like npm introduced a whole new level of laziness.
          And if I just compare the folder sizes of our 120 backend projects (round about 1800 folders with 14000 files and 2 GB disk space) with the single frontend project (48.000 folders with 160.000 files and 1.2GB of disk space of which 99% is just node modules) I feel that there is a lot of trash in there.
          Besides that it always looks like there is a buttton of Alpha packages used in production environments.

          1. yamalight
            Link Parent
            Lack of stdlib is indeed a problem in js world, but it's being addressed. W.r.t. leftpad and "breaking the internet" - as it was discussed numerous times - majority of other package managers...

            Lack of stdlib is indeed a problem in js world, but it's being addressed.
            W.r.t. leftpad and "breaking the internet" - as it was discussed numerous times - majority of other package managers allows this scenario to repeat. It was so bad because javascript is everywhere (and I'd argue because of the lack of dependency pinning and appropriate testing in projects), hence it was very visible.
            W.r.t. size of node_modules - first, I'm not sure it's fair to compare abstract "backend projects" with a "single frontend project". If those are 120 microservices - then even 2gb and 14000 file are too much :)
            The size of node_modules (and resulting app) is something that is entirely up to you as a developer. You can build a js project that has very little deps, very small node_modules folder and tiny resulting build (see e.g. preact).
            It's just a question of effort / resources available - do you want to spend time to achieve this? Or do you want to quickly jam together a bunch of existing libraries and get something running?
            It's pretty easy to blame everything on language and ecosystem, but those things are rarely at fault.

            1 vote
  28. gyrozeppeli
    Link
    C#, Ruby, or Python for work currently. I play around with languages at home, but I've been using Rust consistently for a while now. I spent a while exploring functional languages like Clojure,...

    C#, Ruby, or Python for work currently. I play around with languages at home, but I've been using Rust consistently for a while now. I spent a while exploring functional languages like Clojure, Haskell, and Elm to broaden my programming horizon and change how I approach designing apps and APIs.

    1 vote
  29. Sheco
    Link
    At work, I've used PHP a lot to build webapps. On the backend, I like writing bash scripts. My favorite language used to be Python but Javascript has gotten a lot better these last few years,...

    At work, I've used PHP a lot to build webapps.

    On the backend, I like writing bash scripts.

    My favorite language used to be Python but Javascript has gotten a lot better these last few years, nodejs feels great.

    1 vote
  30. mrbig
    Link
    Java at college, Python at home.

    Java at college, Python at home.

    1 vote
  31. Kirisame
    Link
    Primarily Kotlin and a splash of Java at work, and Rust at home for me.

    Primarily Kotlin and a splash of Java at work, and Rust at home for me.

    1 vote
  32. Akir
    Link
    It has changed a lot since I started. Most of it has been a mixture of PHP and JavaScript, but lately the company I work for has me working on automation tasks with a certain Indian CRM system...

    It has changed a lot since I started. Most of it has been a mixture of PHP and JavaScript, but lately the company I work for has me working on automation tasks with a certain Indian CRM system that mostly has me writing code in an extremely limited scripting language called DELUGE that has laughably bad documentation.

    I don't really do that much programming at home, but my favorite language at the moment is Rust.

    1 vote
  33. satotake
    (edited )
    Link
    Python and JavaScript at work. Interested with typescript, go, ocaml (reasonml) these days. I prefer functional paradigm

    Python and JavaScript at work.
    Interested with typescript, go, ocaml (reasonml) these days.
    I prefer functional paradigm

    1 vote
  34. shaunxcode
    Link
    Clojure and Clojure. I am a pretty happy little lisp alien. 20 years ago I was told to learn lisp for the mind expansion but not to expect to work in it unless you count autocad work so I am...

    Clojure and Clojure. I am a pretty happy little lisp alien. 20 years ago I was told to learn lisp for the mind expansion but not to expect to work in it unless you count autocad work so I am constantly happy how clojure changed all of that. I am longing to work with Common Lisp again lately though mainly for the debug story.

    1 vote
  35. danjac
    Link
    Python, Javascript and SQL are the daily drivers, plus Elixir and Go out of interest. A lot of languages I used to use but since forgotten (I can understand them well enough but don't make me code...

    Python, Javascript and SQL are the daily drivers, plus Elixir and Go out of interest. A lot of languages I used to use but since forgotten (I can understand them well enough but don't make me code in them): C/C++, Java, PHP, various forms of Basic, Pascal, Clojure.

    1 vote