Wednesday, October 26, 2011

Practical Clojure: Clojure distilled

I've been unable to go though my programming books lately; I can't find the energy to read it all or do the exercises.

I finally picked up Practical Clojure and it's a perfect guilt-free book: small and no exercises 8)

For some reason the first chapter did not flow very well for me, but every chapter after that is concise and readable. They really managed to boil down every important concept of the language without losing its essence. It's Clojure distilled!

Even though the information might seem cursory, it's not. The explanations are succinct but complete, and frequently include gotchas that have bitten me before. Information on how some features have changed between version 1.0, 1.1 & 1.2 was very welcomed.

I was dreading the namespace chapters because for some reason, grokking namespaces in Clojure is hard for me. To my surprise they took a really nice incremental approach to namespace that made me understand it at last.

The chapter on protocols is crystal clear. At last, protocols explained without the expression problem, which I was beginning to think was the only use of protocols ;)

The chapter on macros is also to the point with appropriate examples.

In short, if you want to have a clear understanding of Clojure before taking the plunge into writing programs or going through a more take-you-by-the-hand book, Practical Clojure is a great choice.

My only critique would be that errata to the book have still not been published on the Apress website more than a year after publication. Update: errata have begun to show up on the Apress website, so there are now officially no reason not to buy this book 8)