Seven Languages in Seven Weeks

Author: Bruce Tate
Publisher: Pragmatic Bookshelf, 2010
Pages: 300
ISBN: 978-1934356593
Print: 193435659X
Kindle: B00AYQNR46
Audience: Language enthusiasts
Rating: 4
Reviewed by: Mike James


As the original title in the now familiar Seven ... In Seven Weeks series, this book was obviously successful, and still remains so seven years after its original publication.


If you are a interested in languages then there is no doubt that this book, which sets out to compare them to one another, should be on your reading list. It is a tour of seven languages each, in theory, allocated a week to study. Of course, if you have it on your bookshelf  you can read as fast or as slow as you like and refer to it again when you want to refresh your memory.




The idea is good but this sort of book can't help but cause controversy. For example the  choice of languages would keep any group of language enthusiasts arguing for more than seven weeks. The languages covered are: Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell.



As far as I can tell Io was a replacement for JavaScript. Personally I'd have liked to see JavaScript included as it is an important language that merits consideration with the others. You might also argue that the choice of languages is more to do with fashion than importance or even the programming paradigms that they implement. Ruby isn't a great choice to show object-orientation in action. Scala too has its problems; Erlang and Clojure are trendy and Haskell has good academic credentials.

You could have argued that Python would have been a better choice than say Ruby or Scala. On the other hand why not C# as an example of a rapidly evolving pragmatic language. You see what I mean - you don't even need a group of language enthusiasts to start an argument - one will do.

The book follows a standard format with sections labeled day 1, day 2 and so on. The initial introduction is very simple - at the level of showing how to store things in variables and do a calculation. Later things get more complex and the level ramps up fairly quickly. I found that it was difficult to see the wood for the trees in many places and a better guide to the language would be to attempt to characterise its special features and draw your attention to how it fits together. My guess is that this would need several authors with a much deeper understanding of how each language works in practice.

However, this said the descriptions do draw attention to the theory behind each language. An interview with an experienced user or, better, the creator of the language is also included. All of this is good but it could have been much better with a more comprehensive overview that explained the principles behind the language and illustrated the point with examples. A more compare and contrast approach might also have helped. As it is, the overall effect is of a whistle stop tour that never really stays long enough anywhere to give you the unique flavour of the language.

The biggest problem with this book for me, however, is the author's style. It attempts to be readable by making references to popular culture - mostly to cult or at least well-known films. This device is OK for the first few pages but it quickly becomes irritating and artificial. To associate Prolog with the main character in Rain Man is mystifying if you have seen the movie and it must be even more so if you haven't.  You might disagree.

Overall I found the book worth reading but very irritating - for its style and for what it didn't achieve. There are few books that even attempt to give you some idea of as many as seven languages and so this book has a value. If it had only discussed some of the desirable properties of languages and had some background in the theory and design of languages it might have achieved so much more.

Rather than being a language "travel book"  it's just a tourist guide.


Related Reviews

Seven More Languages in Seven Weeks 

Seven Web Frameworks in Seven Weeks

Seven Concurrency Models in Seven Weeks

Seven Mobile Apps in Seven Weeks


To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.



Murach's MySQL 3rd Edition

Author: Joel Murach
Publisher: Mike Murach
Pages: 628
ISBN: 978-1943872367
Print: 1943872368
Audience: MySQL developers
Rating: 5
Reviewer: Kay Ewbank

This new edition of a popular title brings the material up to date to cover MySQL 8, and covers newer MySQL features such as window functions, Commo [ ... ]

Discovering Modern C++, 2nd Ed

Author: Peter Gottschling
Publisher: Addison-Wesley
Pages: 576
ISBN: 978-0136677642
Print: 0136677649
Kindle: ‎ B09HTJRJ3V
Audience: C++ developers
Rating: 5
Reviewer: Mike James

Modern C++ who would want to write anything else? Is this a suitable introduction for the rest of us?

More Reviews

Last Updated ( Friday, 27 October 2017 )