Review: Seven Languages in Seven Weeks

Seven Languages in Seven Weeks
Seven Languages in Seven Weeks by Bruce A. Tate
My rating: 3 of 5 stars

I did not like this book one bit. There are a number of reasons for this, so let me take them in turn.

First the tone is resolutely jokey, with an overall conceit that each of the seven languages is a character from a movie. Now this may help some people, but to my mind words spent discussing Ferris Bueller are words that could have been devoted to discussing the language in question. As far as I’m concerned, the shorter a technical book is, the better, and I’d prefer it if it didn’t try to tell me what I ought to find amusing. Your milage may vary.

Second, the author is ever so, ever so full of himself, and is a very strong believer in the curious philosophy that if something was invented five years ago then it must be better than something that’s been in serious use for decades. It’s rather like the way that each generation of teenagers appear to believe that they are the first people in the world ever to have had sex, and about as instructive. The reality is that (say) Clojure may be really big with the people who prefer hype to substance, but basically all it is is a crippled version of LISP with an overly complex syntax. Why waste your time learning the ins and outs of Clojure when you cal learn the syntax of LISP in ten minutes? Especially as LISP has a rather large literature of extremely high quality. I also find it instructive that nowhere does the author actually admit that Clojure is LISP with more brackets; he makes it sound new. Because new is good!

Third, and as a corollary, he seems to think that if he doesn’t understand something, it’s impossible to understand. Thus he gives a horribly garbled description of Monads in Haskell and then, on the grounds that his explanation is incomprehensible, asserts that we can’t possible hope to understand Monads, and therefore Haskell is too hard for anyone to use. As any number of authors (including me) have shown, Monads are very simple and really rather elegant beasts, and incredibly powerful: they’re just machines for making stateful widgets.

So, is the book worth reading at all? For six of the seven languages covered, the answer is a definite ‘no’. Better books exist on Ruby, Prolog, Scala, Erlang, Clojure and Haskell (most published by o’Reilly). The one exception is IO, a language that the author doesn’t do full justice to, but which, with its paradigm that everything is a message passed from one object to another, is quite fascinating. As far as I am aware, this is the only book that covers IO, so it might almost be worth reading for the chapter on IO along. But it’s an expensive book to buy, so borrow a copy if you decide you do want to know more.

View all my reviews


Leave a Reply

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

You are commenting using your 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