Book Review: 7 Languages in 7 Weeks (Bruce Tate)
I haven't done a book review in quite a while - so I thought it might be time to do one again. I have chosen Bruce Tate's "7 Languages in 7 Weeks". Bruce has written several books before that I found pretty interesting like "Bitter EJB" or "Better, Faster, Lighter Java".
I believe learning programming languages is a good way to improve as a Software Engineer - and it is one of the recommendation from "The Pragmatic Programmer: From Journeyman to Master" by Andrew Hunt and David Thomas. Even if you don't use the language in your everyday work you will get a different perspective on software development and learn new idioms.
In particular if you are used to Java it might be worth investigating a few new languages - especially those that run on the Java Virtual Machine (JVM).
Bruce covers the following languages:
- Ruby: the famous OO language
- Io: a prototype-based object-oriented language
- Prolog: a logic language
- Scala: mixes functional and object-oriented concepts on the JVM
- Erlang: an almost functional language - used for the implementation of RabbitMQ, CouchDB etc
- Clojure: A LISP-like language for the JVM
- Haskell: A pure functional language
For each language there is an introduction and three sections explaining the concepts. The final section wraps up what has been learned and shows strength and weaknesses. All of the material is pretty hands on. I found the best way to use the book is to read it while sitting at the computer so that you can immediately try out what the book talks about. Actually I bought the eBook. So I have the PDF open while I can type in stuff in another window. The book also contains some small exercises for self-study.
Bottom line: This is a great, very hands-on book that I would highly recommend if you want to see what is currently going on in the programming language space or if you are just curious and want to broaden your horizon.
Labels: 7 Languages in 7 Weeks, Bruce Tate