Sunday, August 12, 2007

 

Beautiful Code: Leading Programmers Explain How They Think. Edited by Andy Oram & Greg Wilson. O’REILLY (Book Review)


Is this book a classic in the making? Probably!
This book contains many diverse and wonderful chapters; the highlights for me personally were from Jon Bentley (the ‘Programming Pearls’ author) on “less is more”, Simon Peyton Jones on Concurrency and although it was hard to pick a favourite, I think “Beautiful Debugging” from Andreas Zeller and “Distributed Programming with MapReduce” from Jeffrey Dean and Sanjay Ghemawat stand out.

This is not an easy book, in the sense that it requires that you get into the right frame of mind to fully appreciate some of the subtleties. You might need to find a quiet corner and get into the zone whilst tackling one or two of the more difficult topics. You might even need to read the odd chapter twice before the ‘Aha!’ moment strikes, but it’s certainly worth it. The time spent might well pay for itself several times over if it provides the insight required to solve a problem you encounter.

I believe it is worth buying this book solely for the chapter titled “Distributed Programming with MapReduce” which lucidly describes how large-scale computations can be performed in parallel with the important MapReduce algorithm (which is what Google uses in many applications including google search, across approximately 500,000 machines!). I mentioned the original paper by Jeffrey Dean and Sanjay Ghemawat in a blog post here.

It covers many fields all with the theme of ‘Beautiful Code’. Jon Bentley (the author of Programming Pearls) talks about the ‘most beautiful code he never wrote’! This chapter struck a chord because I often ‘soapbox’ that code should be short as possible but not obtuse. Let’s face it, verbose code is just as hard to understand (if not worse) than terse code.

If you are a programmer purely because it is the way you pay your bills, I don’t think you will find much to help with your day-to-day routine in this book. On the other hand, if you are a programmer who likes to find out how things really work, and gain some insight into the minds of past master craftsman, then you should definitely buy this book.

This book deserves a place on every serious programmers bookshelf since the lessons to be learned will not become obsolete as languages and technologies change. Highly recommended.

There is a web site dedicated to the book here: http://beautifulcode.oreillynet.com/

All royalties from the sale of this book go towards Amnesty International.

You can purchase from here:
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047
http://www.oreilly.com/catalog/9780596510046/

Disclosure: The Perth .NET User Group is a member of the O'Reilly User Group and Professional Association Program. O’Reilly make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by O’Reilly.


    

Powered by Blogger