Over the course of the last week I’ve been reading through “Programming Clojure” by Stuart Halloway. The book is currently in beta and you can buy it over at Pragmatic Programmers. This is the first beta book I’ve ever bought and in fact the first eBook I’ve ever bought. It is also what inspired my previous post about PDF reading devices. I first tried to get it onto my iPhone and read it via Stanza, but the formatting got all messed up. It was really unreadable, so I just continued to read it on my notebook. Not the best experience, but acceptable.

First, a thought on beta books in general: I like the idea of getting early access to content. I’m usually an impatient guy and when I wanted to read the book and saw it would only be out in print in April I decided to give the beta a shot. I was positively surprised. The quality is really good and everything seemed to be there. There were no obvious “holes” in the book, only a few spelling mistakes. I would buy a beta book again.

Now, for the book itself: I like it. It definitely is a better introduction to Clojure than any of the (really sparse) tutorials I’ve found online. The basics are explained quickly and with a bit of preliminary Lisp knowledge (e.g. Scheme) you will be able to read Clojure source after little time.

A highlight is the chapter on concurrency. The up- and downsides of the four Clojure concurrency primitives are well explained and there even is a small example in which the author demonstrates how you would choose between them.

If you want to get into Clojure (and you really should!) this book is a great start. I have also found that it helps to subscribe to the Clojure mailing list and just try to read as much of it as you can, even if you are not able to participate in the discussion. Clojure seems to be a language that is changing constantly and the book obviously can’t keep up with all the changes, so the list is your best chance of keeping up.