- Series: Expert's Voice in Open Source
- Paperback: 232 pages
- Publisher: Apress; 1st ed. edition (June 1, 2010)
- Language: English
- ISBN-10: 1430272317
- ISBN-13: 978-1430272311
- Product Dimensions: 8.5 x 0.5 x 10.2 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 16 customer reviews
- Amazon Best Sellers Rank: #2,462,553 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Practical Clojure (Expert's Voice in Open Source) 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
"Children of Blood and Bone"
Tomi Adeyemi conjures a stunning world of dark magic and danger in her West African-inspired fantasy debut. Learn more
Frequently bought together
Customers who viewed this item also viewed
Customers who bought this item also bought
About the Author
Luke VanderHart is a professional software developer living and working in Washington, D.C. as a consultant with NuWave Solutions. He has more than five years of experience working with the Java platform, and has worked on programs ranging from distributed client-server networks serving and synchronizing semantic XML data, to GUI development using Java Swing, to enterprise web portals serving tens of thousands of pages per day. He is a very active member of the Clojure community.
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
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.
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.
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.