Lyft Industrial Deals Best Books of the Month Shop new men's suiting nav_sap_plcc_ascpsc New Album by Fergie PCB for Musical Instruments Starting at $39.99 Grocery Handmade Tote Bags Book a house cleaner for 2 or more hours on Amazon Spider-Man: Homecoming available to buy Spider-Man: Homecoming available to buy Spider-Man: Homecoming available to buy  Introducing Echo Show Introducing All-New Fire HD 10 with Alexa hands-free $149.99 Kindle Oasis, unlike any Kindle you've ever held Trade in. Get paid. Go shopping. Shop Now FFII_gno

There was a problem filtering reviews right now. Please try again later.

Showing 1-8 of 8 reviews(Verified Purchases). See all 16 reviews
on June 8, 2010
Presently there are two books out on the clojure language: Stuart Halloway's Programming Clojure and this one (hereafter referred to as V&S). Both are quick romps through the main concepts and features of the 3-year old language.

Generally, I found V&S conceptually better organized and with better prose. Halloway's prose is a frenetic interleave of brief 1-3 sentence paragraphs and single-line repl examples. V&S actually uses whole paragraphs and graphical diagrams which I found more conceptually elucidating, in some cases tying up loose ends from reading Halloway.

Somewhat ironically then, a major setback of V&S is the almost complete lack of example application code. Whereas Halloway develops at least two programs throughout the book (the Lancet example and the Snakes game) in addition to the plethora of repl snippets, V&S rely entirely on short illustrative repl snippets. V&S would have benefited greatly from including more complex applications than singular repl functions.

Both books are useful introductions to the main conceptual novelties of clojure (stm, java interop, etc.), but neither will produce competent functional programmers from those coming from the imperative mainstream. Do not buy this book if you have no functional experience and expect to be an idiomatically competent clojure programmer after reading it.
66 comments| 23 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 20, 2012
Practical Clojure provided me with a solid an succinct introduction to Clojure. What I particularly liked about the book are two things: it is very well structured, and it does not try to sell you Clojure, but rather presumes that you have already "bought it" and are aware of it's qualities. This makes it a fluent technical read with little marketing and evangelism noise, which tends to take up considerable space in some programming books.

It is primarily focused on the language itself, with minimal reference to development process, tooling and libraries, and some performance considerations at the end, which makes it short and focused, but might leave the reader wishing for more - you should have this trade-off in mind when considering purchasing this book, as it seems to me to be central to whether you will find it useful and appealing. I personally liked this, as I like to understand the language itself before I dive in.

As others have pointed out, this might make the title of the book seem a bit off-topic, but then again, the author gives practical advice on when and how to use (and when to avoid using) some unorthodox features of the language, like macros.

All said, Practical Clojure is a short, exhaustive and solid entry level book to the Clojure programming language, and I recommend it wholeheartedly.
0Comment|Was this review helpful to you?YesNoReport abuse
on July 13, 2010
There are a couple of ways of evaluating a book like this. The first is to compare it against other books of its kind. Since this is the first book I have read about the Clojure programming language, I can't really say if this is better than the (singular) alternative text. However, being recently published, it does have the opportunity to be a little more up-to-date, an opportunity that Practical Clojure utilizes to include a chapter on Datatypes and Protocols, two features added in Clojure 1.2 (still to be released). Of course the downside to a brand new book is that some mistakes creep in that might be corrected in future editions. The most prevalent mistakes that I noticed were inconsistencies in formatting. The most serious such mistake was use of the doseq form without explanation.

The other way that one might evaluate a book about a programming language is to explain the level at which it is aimed. Such levels might be characterized as Introductory (meaning the reader is ignorant of basic programming concepts), Beginner (emphasizing the rudiments of the language's syntax, and how to do basic things), Intermediate (usually a comprehensive reference of language elements, including standard libraries, as well as a walkthrough of some larger "realistic" example code), and Advanced (either a deep-dive on a particular topic, or explanations of the most esoteric features). Practical Clojure is a "Beginner" text in the sense explained above. The reader will find a description of core language features, but standard libraries are barely referred to. Sample code is extremely short, which means the reader won't find much guidance on idiomatic solutions for more realistic problems.
0Comment| 2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on April 29, 2014
This is a great book for beginners who are new to functional programming. It is nice to get a good look at the forest of Clojure before we get lost in the nitty gritty details of its many useful features. There are of course many other books with lot more details and more complicated examples. This book can be used to get a nice tour of the what Clojure is about and how its different from other languages you may be familiar with.
0Comment|Was this review helpful to you?YesNoReport abuse
on June 15, 2010
This may be the best computer book I've ever read - and with 30 years experience as a programmer I've read a lot of them. Why is it so good? Mostly because of what they don't do. They don't spend page after page telling you how great the language is. They don't give long explanations of what you SHOULDN'T do. They don't create some long involved example that you have no interest in and will never use. And they don't go off on tangents about things that seem to have no relation to the task at hand. Instead, they explain the language in great detail but in terms any programmer will understand. I have been using Clojure for about six months now and I still learned a lot from this book. Clojure is a very important new language and may be one of the best Lisp dialects ever. If you don't know Lisp, it does not matter. If you know Java you will be amazed at how much simpler it is to write programs. This book is a huge step toward bringing Clojure into the mainstream. My hat is off the the authors.
0Comment| 8 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 23, 2010
it's clear & well written introduction to clojure,
but is a bit skimpy on the details. i often found
myself asking, but what about this or that, and
not finding the answer in the following sentence,
as i would have in the truly great technical texts.

it also has some major omissions: testing and
even list comprehensions are never mentioned.

for a $50 cover price, i think another 100 pages
to fill it out would have been justified.
0Comment| 3 people found this helpful. Was this review helpful to you?YesNoReport abuse
on July 25, 2010
The book is easy to read and covers the basics. It however, doesn't offer any insight in how to put the pieces together to build programs.
0Comment| 5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 12, 2011
If practical means learning by doing, then this book is the opposite. It's more like a tour in the language and very sloppy one at that.

I just finished reading this book and I feel that I can't do anything in clojure. Bear in mind that I'm an experienced c# programmer but I don't know lisp.

All the book does is goes through the various language features (lists, vectors, maps, stm, refs, agents, macros, jave-interop..etc) one after the other explaining what they're but will not show you how to connect them to do anything useful.

It even forgets to talk about fundamental things until very late in the book for example quoted expressions and the let bindings.

What's even more annoying is that it doesn't stop telling you how great, amazing, elegant, sexy and how object-oriented is crap and how clojure got it right. But you never get to see all this awesomeness even if you're willing to believe.

I'm very disappointed in this book and I don't exactly know where to go from here.
0Comment| 10 people found this helpful. Was this review helpful to you?YesNoReport abuse