Paperback: 630 pages
Publisher: O'Reilly Media; 1 edition (April 22, 2012)
Product Dimensions: 7 x 1.3 x 9.2 inches
Shipping Weight: 2 pounds (View shipping rates and policies)
Average Customer Review: 4.5 out of 5 stars See all reviews (43 customer reviews)
Best Sellers Rank: #183,036 in Books (See Top 100 in Books) #10 in Books > Computers & Technology > Programming > Languages & Tools > Lisp #15 in Books > Computers & Technology > Programming > Functional #70 in Books > Textbooks > Computer Science > Object-Oriented Software Design
In "Clojure Programming", the preface asks "Who is this book for?" It's for a lot of people: experienced JVM developers, curious Rubyists, dissatisfied Pythonistas... Developers of all stripes that are looking to get introduced to, and become proficient in, Clojure. I myself have been circling the Clojure drainpipe for a while now, very nearly getting completely sucked in on numerous occasions. I've followed no one's advice though--I have not started small, and instead keep jumping into sophisticated middle parts and getting mired.  I think I would have benefitted from this book a year ago; I'm certainly benefitting from it now.At 587 pages , "Clojure Programming" is hardly a tome, but it is comprehensive, appreciably thorough, and makes a concerted effort to be accessible to the Clojure and JVM neophyte. That being said, the book is also far from short, and makes no pretenses about easing you into the language: you'll be programming a naÃ¯ve REPL by the end of chapter one. But this head-first approach is one of the reasons to love this book.Emerick et al. found an excellent format for organizing the book, logically sequencing the material, and peppering chapters and sections with the right kind of illustrative, "koan"-style sample problems, eschewing the alternative of walking you through some contrived and over-arching application built one concept (and thus one chapter) at a time. As such, the book is broken into five sections:1. Functional Programming and Concurrency (the foundation);2. Building Abstractions (the sophisticated stuff);3. Tools, Platform, and Projects (the eco-system);4. Practicums (Clojure in the real world); and5. Miscellanea (other important stuff).