We did this a few times before but I figured we might as well do it again. If you don’t know what the hell am I talking about, let me explain. I’m talking about a thread in which I ask you about your preferred programming languages and then we all try real hard not to argue about why one language is shittier than the other. More specifically, I have two very direct questions for you:
- What programming language do you use for most of your day-to-day work right now?
- What programming language would you like to learn/use more if you had more time
I find out that a lot of programmers sort of get into this predicament where they code in one language they know fairly well, but find themselves wishing they could switch other to some other language that is cooler, more expressive or just more fashionable. Of course inevitably, after you make that leap and change your primary language something newer and even cooler comes about and you find yourself longing to switch again. Thus is the life of a programmer.
I have a few much neglected personal side projects that involve Python which has been my go-to scripting language lately. It is simple, powerful, elegant and I’m familiar and comfortable with it. So usually when I need to hack something up, Python is my tool. I also have Setup Assistant which is written entirely in C#.
What programming languages I would like to work with some more? Well, I’ve actually got a long list.
I’m actually terribly rusty with Ruby – but I find that a lot of the crap I use on a daily basis is written in that language. Stuff like Jekyll (which I use for my teaching blog) and Homebrew which I use all the time on my Mac. So I would definitely would like to get my Ruby legs back. Unfortunately, when it comes to potential projects Ruby suffers because it’s similarity to Python. When I need a scripting language, I usually turn to the one I’m more familiar with to save time. Perhaps I ought to change that and use Ruby more often.
When it comes to languages I would like to spend more time learning about, the two biggest ones at the moment are Scala and Haskell. The former because it is essentially Java but with sane syntax, a lot of syntactic sugar and no stupid boilerplate. It feels like a duck-typed scripting language, but it is strongly typed systems programming language.
“skell… Well, Haskell is just weird but in a good way. It is different than most of the stuff you might encounter out there. It forces you to think and structure your code differently. And that’s definitely a good thing. We programmers are fond of saying that once you grok one language, you grok them all – but that’s technically not true. Once you grok a procedural language, you can do most procedural stuff – but purely functional stuff like lisps will throw you in for a loop. And that’s good for the brain. Haskell does something similar. I definitely recommend checking it out. Especially considering that their online tutorial is fucking brilliant.
How about you? What is your current go-to language, and a language you want to learn next?