tags:

views:

2145

answers:

6

Currently [April 5 2010] there is (afaik) one completed Clojure book available:

  • Programming Clojure by Stuart Halloway.

Two are being written and partially available at Manning:

  • The Joy of Clojure by Fogus and Houser
  • Clojure in Action by Amit Rathore

Another one is about to be published in May:

  • Practical Clojure (The Definitive Guide) by Luke Van der Hart

UPDATE [28th of May 2010]: Practical Clojure got published!

Are these books more or less the same and meant as a general introduction to Clojure? Does it make sense to buy them all, or is there a risk of having four very similar books? What is each book's unique take on Clojure if there is one?

Will there be books that go into more specialized areas of Clojure and target 'intermediate' or 'advanced' Clojure programmers?

+2  A: 

The last comment in this question: http://stackoverflow.com/questions/599519/which-tutorial-on-clojure-is-best

had some opinions on "Programming Clojure". Have you tried the "The Joy of Clojure" MEAP?

Allen George
+17  A: 

I own "Programming Clojure" and have ordered both MEAPs, I haven't investigated "Practical Clojure".

I think the first three do have very distinct approaches. "Programming Clojure" is mostly about key features of Clojure with just enough explanation to help someone make progress but still demanding a lot of work from the reader (a good thing).

The two MEAPs are obviously not finished but very different. "Clojure in Action" appears to be targeting specific areas of application in a practical way. "The Joy of Clojure" is explicitly aiming to be the "next" clojure book, exploring the reasons behind Clojure's design.

So in a sense:

  • "Programming Clojure" is the "what"
  • "Clojure in Action" is the "how"
  • "The Joy of Clojure" is the "why"
Alex Stoddard
+2  A: 

I have the "Programming Clojure" book by Stuart Halloway and also the two MEAP books. I have read Stu's book and partly "The Joy of Clojure" and "Clojure in Action".

"Programming Clojure" is the introductory book. The rest of them assume some knowledge from the reader. In my case, I had a bit of Common Lisp programming before coming to Clojure which turned out to be of great help, as Clojure borrows a lot of ideas from Common Lisp.

So, I would say, get all the three and also some Common Lisp books like Paul Grahams "ANSI Common Lisp" or Peter Seibel's "Practical Common Lisp" as well just for reference.

Ramakrishnan Muthukrishnan
A: 

FYI Manning frequently sends out discount codes for MEAP's, e.g. 30% off, sign up here

http://manning.com/free/dotd.html

or search for authors tweeting about it

Gene T
On top of that, both The Joy of Clojure and Clojure in Action can be obtained with 35% off using code 'clojure35'.
Michiel Borkent
+3  A: 

I personally think that The Joy of Clojure is going to be a more important book than Clojure in Action. Not because of the quality of the writing, but because of the individual goals of each book. Joy wants to take us deeper and teach us how to understand Clojure and write beautiful and correct code in it, while in Action seems to primarily be focused on doing certain things.

I think both books will be important to have in our arsenal. For now, I've only purchased the MEAP of Joy of Clojure. I'll likely end up with all of the books eventually.

Rayne
+33  A: 

I have read all the above books in one way or the other, and I think all the four books are distinct in their appeal and value. The books basically reflect the personality and thinking of the author(s) themselves. Here is what I think about the books -

  • Programming Clojure - A very concise and succinct book written primarily for people with Java, Ruby backgrounds. Covers all the basics and rationale clearly. It also manages to drive home the whole point of Functional Programming, Abstractions, etc. Being short, it doesn't cover some deep stuff like macros in detail (which is OK) and leaves a lot of things for the reader to explore and learn independently. A great introductory book overall.

  • Clojure in Action - A nice book which focuses a bit more on the practical uses of Clojure. Covers a lot of interesting material about designing applications of massive scale with Clojure. It also covers some ground about day-to-day practices like debugging, profiling, IDEs, etc. An interesting book which you might want to treat as a reference manual.

  • The Joy of Clojure - Now this book is going to be epic. This book is for people who want to internalize the way of Clojure. It will tell you why some things are the way they are in Clojure and why that really matters. It's a lot like On Lisp. It shows the most idiomatic way of writing Clojure code. The focus is more on fun than the mundane enterprisy things that we usually do with Java. This is one book which every passionate Clojure developer should read & understand. After reading this book you will be able to appreciate Clojure much more than before.

  • Practical Clojure - In a way, it's the second edition of Programming Clojure. Another short, and nice book which has updated material. It covers the new features of Clojure v 1.2 like Datatypes & Protocols and is written in the same lucid and approachable way like Programming Clojure. It's a very welcome addition to one's Clojure bookshelf. There is some interesting material about performance, protocols, parallel programming etc. It has nice code examples, diagrams etc. If someone wants to learn Clojure today, this one might be the right book to choose.

Having said that, it all depends on what you are looking for. If you want to just learn Clojure, then pick Programming Clojure or Practical Clojure (the latter if you want to learn Clojure 1.2 features). If you already know some Clojure and want to use it in real life scenarios, pick Clojure in Action. If you really want to take the red pill & dive deep into the Lisp/Clojure rabbit hole, by all means choose The Joy of Clojure.

But no matter what, don't stop having fun with Clojure.

Baishampayan Ghose