O'Reilly has recently made a Rough Cut of "Clojure Programming" available by Chas Emerick, Brian Carper and Christophe Grand.
After a short introduction, it has chapters on functional programming, macros, Java interop, datatypes & protocols, organizing & building Clojure projects, mathematics & data analysis, working with RDBMS (including using Hibernate with Clojure!), working with CouchDB, and building web applications.
I've added it to my collection of Clojure books and I'm really enjoying it. The chapter on working RDBMS has already proved useful in my day job.
Stian Almaas wrote:This doesn't sound like a beginners book. Am I right?
Actually I think the book would suit beginners (to Clojure) if they have a solid programming background. The book pitches itself as being aimed at "Engaged Java Developers" (dealing with hard problems, looking for better tools) and "Ruby and Python Developers".
Stian Almaas wrote:Christophe Grand is a personal hero of mine. I bet he has sneaked in some moustache and enlive in that book.
As Sean said, we aimed to make the content applicable to a wide swath of programmers, including those familiar with Java. Certainly, the book is not for those new to programming in general. The term we used, "engaged Java developers" is really meant to indicate that, if you're thoughtful and curious, you're the one we wrote the book for. If you're still whacking out stuff using EJB 2 in Java 1.4 — and you're happy with it — then you may not find the book particularly interesting.
Another phrase we use is that "Clojure demands that you raise your game, and pays you back for doing so." Hopefully that should either encourage or discourage the right people. ;-)