Language-a-month: Idea
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.]
I believe focusing on a couple of languages (ruby and erlang has been used together to write Github.com) is a good idea. Learning a new scm (not sure if you used git or mercurial) is also a good idea (I start to hate svn since the scm server hangs).
Other than that, Lua and Smalltalk seems to be very interesting language.
I do hope you get enough time to pick up ALL/Most of those though…
Oh, I totally forgot about DVCS! I’ve used Mercurial a little tiny bit (essentially just on the flight home from PyCon).
1 month?! So long!? Come on, there are tons of books that teach you a language in 24 hours – wuss.
But seriously, I think one month might be too light. Overall a good idea though. It might be neat to implement a largish project (the same one) in each language and see how they vary.
I recommend putting Lua on your list though. It is a really good language and the nice thing is it is very usable in many places (due to it’s small size, fast interpretation and ease of embedding into C).
Hah!
I picked 1 month because I’m going to be starting an M.Sc. program at the same time and don’t want to be too ambitious.
I totally forgot about Lua. Anything that means I write less C is good in my books
[...] like I mentioned before, I’m going to start my Language-a-month plan, and I think I’m going to start with [...]