gpollice

Book review: Seven Languages in Seven Weeks

In Book Reviews on July 23, 2011 at 12:00 pm

When I received my copy of Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce Tate (Pragmatic Programmers, 2011), I wasn’t expecting to be impressed. First of all, I had read Tate’s From Java to Ruby and was not impressed by the book. I don’t usually read books aimed at managers, which may explain my disappointment. Also, how much real meat could be in a book that covered seven languages in less than 350 pages? Why most books that try to cover one language often push 1,000 pages—not that anyone in their right mind would actually read the full tome.

To my surprise, this book turned out to be a delight. This book doesn’t serve you the full language in a multi-course meal. Instead, it lays out the small tapas and lets you sample just enough to let you see if you like the taste. And, if you do, it gives you enough to keep you going until you order the full meal from another book, course, or combination of sources. What’s even more interesting is how Tate has selected tasty languages that each tantalize different parts of your intellectual pallet.

There are no common, “fast food” languages like C, Basic, or even Java here. Instead Tate offers avant-garde  languages that are gaining traction—or being rediscovered because they offer new paradigms or efficiences that we need for future applications and computing systems. His choices are Ruby, Io, Prolog, Scala, Erlang, Closure, and Haskell. Few people will know enough about all of these, and even if you do know something about all of them, the chances are that you’ll gain some additional insights.

Tate helps the reader approach each language by framing it with several questions that one should ask when learning any new language. These questions are:

  • What is the typing model?
  • What is the programming model?
  • How will you interact with it?
  • What are the decision constructs and core data structures?
  • What are the core features that make the language unique?

I recently used the chapter on Ruby to introduce the language to high school students. It worked wonderfully. When they were done, several of them decided to use Ruby for their project and did some very nice work in the span of about five days.

The book can be read comfortably in a weekend, but that’s like going to a wine tasting and chugging down everything in sight. Take your time with these languages. Use the seven weeks, or at least a few. Taste deeply and then decide which ones you want to learn more about. It will be a fun ride, and certainly worth your time.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: