Ratings1
Average rating5
As a polyglot programmer, the process of going through how-to-define-a -variable, how-to-define-a -function, how-to-use-text-editor, etc. when reading through an introductory book of a new programming language becomes really tedious. What I care about is not what do the language features do, but how are they designed that way, what problems would occur if these features are abused/misused/misunderstood, etc. To answer these questions, I often find myself wandering around GitHub libraries for hours reading code and jotting down “exemplary code snippets” in which language features are well-demonstrated. I don't often expect someone to curate these examples for me.
“Getting Clojure” and the Haskell book (coincidentally, written by a former Clojurist who now found sanctuary in Haskell) have been the only 2 times I could count on a introductory material for the whole process of learning a new programming language.
With that being sad, this book worth more than just 5/5 stars!
A good intro to Clojure, but nothing more than that. There's nothing of value in the book for an experienced Clojure developer.
“Getting Clojure” has a slightly different structure than most intro Clojure books - doesn't focus so much on concurrency and offers only a minimal coverage of more complex features (e.g. dealing with state and macros), which is a good idea for an intro book IMO. Generally concurrent programming is barely covered here and I recall that older Clojure books made a lot of fuss about it. Lesson learned I guess - Russ had the opportunity to observe how Clojure's actually used in the wild and focus on what matters the most.
Russ's writing style is fluid, clear, fun and engaging. I loved his Ruby work in the past and I'm happy to see him in the Clojure realm these days. If you've read any of his Ruby books (e.g. “Eloquent Ruby”) you'll find lots of similarities with “Getting Clojure”. I can certainly recommend the book to anyone looking to learn Clojure!