I’ve been thinking that over the last few years, I’ve become a bit of a Python snob. Python is the hammer that I use to drive (almost) all of the nails I see. I think it’s time to branch out a bit.

Starting in September (coincidentally, the same time I start school), I’d like to learn a different programming language each month, to the point where I can comfortably write a blog post about it. I don’t plan on learning it in huge depth, but sufficiently that I could write a reasonable simple app. In particular, I want to focus on the pieces that make the language special.

I want to have some significant breadth in this. Some classics, some contemporary, some obscure, some mainstream. Off the top of my head, here are some possibilities:

  • Lisp (DrScheme maybe? or ELisp?)
  • Forth
  • Ruby
  • Clojure? (Is this similar enough to Lisp/Scheme that it’s not necessary?)
  • Haskell (I missed CMPT 340 going through my B.Sc.)
  • Fortran
  • Erlang (this is cheating a bit… I’ve done Erlang in the past, but I just want an excuse to go through the Erlang book in more detail)
  • R
  • XUL/JS (for Firefox plugins)
  • Lua

I’m going to have to think about some more. Anyone have any recommendations? Maybe for entire classes of languages that I might have missed?

[Edit: added XUL/JS, July 21, 2009 @ 7:55AM.]
[Edit: added Lua, July 21, 2009 @ 9:25AM.]