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)


3 comments:

octopusgrabbus said...

I have most of the major books, and will be taking a Code Lesson on-line course using Amit Rathore's book Clojure In Action.

So far, the most detailed Clojure book in my opinion is Chas Emerick's and Brian Carper's Clojure Programming.

It isn't that the other books are not good -- all of them have great content -- it is that Clojure Programming seems better rounded to me coming from a weaker Java but strong C/C++ background.

The Careful Programmer said...

Indeed, it's very nice that although there are already various Clojure books, they manage to each have their unique approach.

So far I've read Programming Clojure, Practical Clojure and I'm partly through Joy of Clojure.

I like Programming Clojure as a great introduction to Lisp even if you don't know Lisp at all.

I like Joy of Clojure for the thorough explanations of the "why."

Finally I like Pratical Clojure for presenting the essence of Clojure in brief but clear prose.

joshua@milehighcode.com said...

I enjoy reading your blog, keep it up!