Every few weeks, I come across a programming article/blog post/project/forum debate etc that gets me excited about another programming language. I maintain a list of languages I’d like to learn, a list of applications I’d like to do, a list of skills I’d like to develop.
Every so often, I ask myself if I should start learning a new programming language, and which one to pick (so many to choose from!).
When it comes to languages – not programming languages but actual spoken languages – I’ve got a mixed track record. On the one hand, I have transitioned from my mother tongue, French, to my current first language, English, without much difficulty (if you forget about my first year living in England where I felt rather frustrated at my inability to express all the subtleties of my thinking). On the other hand, I have started learning Spanish, Russian, Japanese and German without much success and can barely ask for directions in any of these.
Over the last few months, I have asked myself, in turns, whether I should learn Ruby, Python, C++, SmallTalk and now Scala.
The question is: how do you know it’s time to learn a new programming language, and how do you decide which one to choose? (OK, that’s 2 questions!).