The first thing to know about the book Practical Clojure, is that unlike its title might initially suggest, it is not a book trying to describe how to use Clojure practically. That is to say, it doesn’t describe how to create enterprise quality applications, create applications that can scale or write code in an idiomatic manner that can be easily maintained by others.
It may be really unfair for me to start with this as I literally did judge the book by its title. And it probably isn’t fair that I was upset that it didn’t meet the expectations that I put it on it.
In fact, it may sound as though I am implying that this book is poor, when actually found this book very enjoyable to read. In fact Practical Clojure is the best introduction to Clojure that I have read. It has a very nice clean style which is easy and enjoyable to read. It covers Clojure programming in a simple and logical progression and even being familiar with many of the topics covered, I still found it very enjoyable to read through.
In addition, this book has one of the best descriptions of Clojure’s state management. One of the most complicated concepts of Clojure (although still relatively straightforward, Clojure is intrinsically simple by design) is how to manage state so that it is reliable under multi-threading. Practical Clojure explains these concepts very clearly, giving clear explanations of what different tools you can use and what their advantages and drawbacks are.
One thing to be aware of is that this isn’t a reference book. The book has a few blank spots which are a little odd when most other common functions are covered. However, again, this isn’t what this book is aiming for. It is very much trying to give you an introduction to the language of Clojure, and assumes that you can find your way to Google if you would like to find out the specifics of the zipmap or create-struct functions. On top of this there are quite a few references in the index which are off by one or two pages, which can be quite confusing until you know to look around a few pages until you find the correct place.
Practical Clojure is a great book for someone just getting started with Clojure and it is well written and enjoyable to read so I would recommend it to even Clojure users who have already got their heads around the basics. But if you are an experienced Clojure user there is probably nothing here that you haven’t seen already.