How to Decide on Your Next Programming Language

Neil Crosby got me thinking yesterday about which language to learn/play with next by tweeting

so, lovely people of the interwebs. What webly language should I be spending my time learning then? Right now, I’m all about the PHP.

Neil appears to have gone for Python, but more specifically I’m interested in how you decide what to learn next? And improving the likelihood of you seeing it through and being able to add it to you toolbox. Personally I’ve messed around with a wide range of languages but I would say I’m proficient in only a few of those.

So here goes with a list of questions to ask yourself.

I don’t think all of these apply to everyone or apply all the time, but it’s worth considering and rejecting them when they don’t.

Feel free to disagree in the comments or, even better, add extra ones. Or alternatively just cut to the chase and tell me what I should learn next.

Comments

  1. How about adding “Does the language interest you?”

    Taking the point of view that this is not something being prescribed by an employer but a ‘free time’ project. If its not interesting then it’ll be harder work and more likely to be sidelined.

    Jonathan Allen - 10th June 2009

  2. > How is the language represented on GitHub?

    How are you going to know whether it’s represented well if you don’t know the language? There might be hundreds of little projects written very poorly in the language, which would not only harm your ability to learn it well, but also skew your impression of the languages you are considering before you choose.

    James Aylett - 10th June 2009

  3. @James I agree. I guess I should have been clearer on that one. What I meant was more “is there code on GitHub in that language”. If there is then you can easily find code to jump into when you feel comfortable with the language – something I think is pretty handy. Starting learning a language you don’t know based on code of unknown quality in that language is definitely a bad way to go.

    Gareth Rushgrove - 10th June 2009

  4. how bout haXe (www.haxe.org) ? seems like a decent language with incredible utility as you can compile it to Actionscript, PHP, Javascript, and more (even apparently, C++ for the iPhone platform).

    David Wilhelm - 11th June 2009

Leave a comments