first thoughts on seven languages in seven weeks

Welcome to the dim corner of the library, where fools rush in and angels fear to tread!

This blog post is ancient. If it is technical, the information is likely inaccurate, or at least out of date. If it is non-technical, it’s entirely possible that the relevant facts and my own opinions have changed significantly since it was written.

It is only preserved as part of this site’s permanent historical archive.

I recently started reading the beta copy of Bruce Tate’s Seven Languages in Seven Weeks from the Pragmatic Bookshelf. While I’m certainly NOT on pace to actually complete the book in seven weeks, I have been steadily plodding along. Reading this book takes me back to my days as an undergraduate computer science student at the University of Mississippi. As with most CS programs, we were all required to take a “Survey of Programming Languages” course toward the end of the curriculum. Tate’s book is very similiar to walking through this course, except:

  1. Tate’s text and suggested exercises are intensely practical, targeted at actually getting something useful done in the language.

  2. The language selection is entirely relevant to today’s practitioner. Chances are good that you’ll use a language from this set in your day job sometime in the next decade. Ignoring that, chances are good that you’ll use some language that is a “close cousin” of a language from this set.

  3. Your thinking about programming in general will be challenged by each chapter. This is not a leisurely read. You cannot “coast” through this course.

At present I’m slowly working through the chapter devoted to Io. Io is a prototype-based language, close-cousins with Lua (of recent iPhone game development controversy) and JavaScript (can’t think of a practical use for this guy…umm…oh wait!). I’ve very much enjoyed Bruce’s treatment of the language, with his descriptions of the feature being as “visual” as words can effectively be - who else could liken languages to popular movie characters and get away with it? Before working through Io, Bruce and I tackled Ruby together. Ruby is an old and unfortunately neglected friend of mine. We’ve had our fun together doing a couple of small Rails applications, JUG talks and a (so far) unsuccessful trek into the world of OSGi, but unfortunately we haven’t hit the big time in my day job. Working through this chapter really served to reignite my enthusiasm for the language, especially as it relates to the rich ecosystem of testing tools available in the Ruby and Rails communities.

In short, only two chapters in I’d thoroughly recommend that you purchase this book. Like Beyond Java before it, Bruce has again challenged us to step outside of our comfort zone. If nothing else, you’ve got seven kickstarts into learning your “Language of the Year.”