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.

 

Banner

 

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.

 

Banner


Programming with Rust

Author:  Donis Marshall
Publisher: Addison-Wesley
Pages: 400
ISBN: 978-0137889655
Print: 0137889658
Kindle: B0CLL1TGVT
Audience: Programmers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Rust is the language we all want to learn at the moment so this is just in time.



Python Programming with Design Patterns

Author: James W. Cooper
Publisher: Addison-Wesley
Date: February 2022
Pages: 352
ISBN: 978-0137579938
Print: 0137579934
Kindle: B09D2RKQB5
Audience: Python developers
Rating: 1
Reviewer: Mike James
There was a time that design patterns were all the thing. Not so much now. But Python - does it have [ ... ]


More Reviews

Last Updated ( Friday, 27 October 2017 )