Almost exactly a year ago I set myself a challenge: To learn 12 new programming languages in 12 months. Obviously I wouldn't be able to learn the languages in much depth, but I hoped to learn some new concepets, and see what cool stuff is out there. It was an ambitious challenge, and unfortunately I only managed to learn 4 new languages, instead of the 12 I had hoped to.
1) Clojure I started by writing a port scanner in Clojure, one of the languages I was most looking forward to trying out. I was really impressed with I saw with Clojure, and there's plenty more for me to learn, and many new concepts to uncover. I'll be experimenting some more with Clojure in the future.
2) Objective-C Next up was Objective-C, a language that wasn't featured on the original list. After quitting my job to work on my startup I had no choice but to learn the language to develop our iPhone application. In doing so I got to dig much deeper into the language, spending almost 6 months working full time with it. While this clearly slowed progress on the challenge I got to learn some great new concepts, and rather than just creating a small sample app I got to build something used by thousands of people!
4) Lua Just last week I wrote an extension to VLC using Lua. I was hugely impressed with the power of the VLC extension API, and how easy it was to create a really useful piece of software with such little code. I'm keeping my eyes out for more applications that support the scripting of extensions to see what interesting things I can do there.
2010 turned out to be busier than I could ever have expected. Having previously been an employee at a startup I knew hard work and long hours were required, but getting Geomium off the ground has taken this to a whole new level. I also managed to squeeze in becoming a father, getting married, and co-organizing the Hacker News London events (and attending them, of course!). This all left less time for learning new languages, but I haven't given up...
The 12 months are up, but I'm not stopping. I'm going to keep going until I've learnt 12 new languages. The new goal is within 24 months, so that gives me 12 months to learn 8 more. I'm going to need to pick up the pace, but a book was recently released called Seven Languages in Seven Weeks, which should certainly help!
No only do I want to keep going with these programming languages, but there are also some new technologies I want to experiment with over the next 12 months. Expect a blog post soon! :)