There is an idea, popularized in the Pragmatic Programmer book that its good to learn a new programming language every year. Seven Languages In Seven Weeks takes the concept one stage further, although clearly only for certain values of "learning". One is never going to be proficient at any language in a week, despite what Sams books may tell you!
I picked up Bruce Tate's book from a physical bookshop (!) recently intrigued by the idea of doing a bit of quick comparative language learning/reading. I’m going to keep a record of how I get on with learning all the languages as I go along. Now there is an important proviso for a busy person like me. I probably won't make my seven weeks seven consecutive weeks, I’ll just do a new language when I get the chance.
The book takes a chunked/day by day approach to presenting the material. One chapter per language, with three "day" subchapters per week plus an intro and summary. Tate characterizes the languages as if they were film characters, an amusing device though perhaps a bit cheesy for my taste. He runs trough the usual comparitive stuff (programming style, typing, etc.) but gets cracking on code examples and practical excercises pretty soon. That felt like a good balance to me. I reckon you could do an intro and a 'day' subchapter in an hour or two, given access to google to find syntax examples, but not, of course, the answers — you're not going to learn much by looking them up on the Forums are you?
I’m not sure how I’m going to document this process at the moment, but I’ll keep a log of any updates here anyhow.
Updates
- I’ve now written a wrap-up post, so this project is officially complete.
- Finally done with Haskell. Though I fear I may never be done with Haskell!
- I’ve just finished Clojure day three it was fun and very challenging.
- Today I made a start on Agent Smith like language Erlang
- I’ve finished up Prolog and Scala
- Ahem, I’ve been a bit slack and so Day Three of Io is two weeks after Day Two. Busy life. What can I say?!
- I have just got Io installed on my laptop ready for day one. It was a little tricky, so I have posted a quick tute on Installing Io on Debian, which may be helpful for someone on the interwebs.
- Ruby wasn’t such a chore, it was nice to come back to and felt like an old friend. I enjoyed playing with Ruby's rather elegant metaprogramming model again. Io is next, but not for a while.
- Well, we start with Ruby, which feels like an easy start to me. I’ve built Rails projects before, so I kinda have a good grip on Ruby. Am interested to see if any new insights or reminders come out of working through the Ruby chapter, though.