Rob's Reviews > The Joy of Clojure

The Joy of Clojure by Michael Fogus

by
156533
's review
Mar 22, 12

bookshelves: technical, 2010, clojure, own, 2011, 2012
Read from July 07, 2011 to March 22, 2012, read count: 2

In the realm of technical, programming-related, computer science-type books, The Joy of Clojure is a bit of an oddity. And this is a very good thing.

WHAT THE BOOK IS NOT: The Joy of Clojure is not a beginner's introduction to the language. The Joy of Clojure is not a glorified appendix of methods and syntax. The Joy of Clojure is not a "cookbook" or a "how-to" or an "FAQ". The Joy of Clojure is not an explanation on how to shoe-horn your Java code into (some (graceful [parenthetical syntax:])). The Joy of Clojure is not a dry or sterile technical manual.

WHAT THE BOOK IS: The Joy of Clojure is as much a philosophical text as it is a survey of the language. The Joy of Clojure embraces the language's own flexible nature and describes itself in that way. The Joy of Clojure has a sense of humor. The Joy of Clojure expects a little work from you (but is willing to lend a hand along the way). The Joy of Clojure respects the baggage that you bring from your other programming languages, but expects you to check those bags at the door. The Joy of Clojure wants to make you a better programmer, not a Clojure programmer.

So... why 4-stars? I seldom give out 5-star reviews—I reserve those for books that completely blow my mind. While this one was a real eye-opener, my lid did not pop fully and totally off. Why not? Partly because I'm coming into Clojure as an outsider. It isn't a book for Clojure beginners—you could be a Clojure novice and get a lot out of this book, but I believe you would need a little more background in Lisp (its syntax can be a bit off-putting to outsiders and novices... and they even come out and say this in the book). How to get that 5th star...? A "chapter 0" for the complete novice? or maybe an appendix that can help that novice wade through some of the more esoteric-feeling elements of the language.—i.e., folks such as myself that are unfamiliar with Clojure (and/or Lisp in a more general sense [viz., I haven't looked at/used Lisp in probably... 10 years?:]) may find the language's syntax a bit... opaque? oblique? There's a learning curve with every language, I suppose but there are certain things in Clojure that look FUNDAMENTALLY WRONG to someone accustomed to a language like JavaScript or Java. The onus is (of course) on the reader to embrace these things (i.e., "Who is the one that opened the book and wanted to learn something new?") but it's sometimes easy to get lost in these little details.

I would absolutely recommend this to anyone I know that had an interest in Clojure and/or functional programming.

Sign into Goodreads to see if any of your friends have read The Joy of Clojure.
sign in »

Quotes Rob Liked

Michael Fogus
“The apprentice avoids all use of Java classes. The journeyman embraces Java classes. The master knows which classes to embrace and which to avoid.”
Michael Fogus, The Joy of Clojure


Reading Progress

06/05/2010 page 19
5.79%
06/05/2010 page 49
14.94% "made it through chapter one (with some delightful surprises)"
07/07/2011 page 3
1.0% "Diving in for re-read #1 (now that it's a "real published book"...) -- 1st page after the introductions etc."
07/18/2011 page 32
10.0% "(let [that "sink in"] (println "before moving on"))"
07/19/2011 page 36
11.0% "next: "Leveraging Java via interop""
07/21/2011 page 39
12.0% "...next: Namespaces"
07/22/2011 page 43
13.0% "Finished up Ch. 2... and/but this is one I'll need to re-read a few times."
08/03/2011 page 51
16.0% "REPLism"
09/27/2011 page 76
23.0% "Scalars! (last night I dreamed of Clojure code that looked like a dinosaur's jaw - WORLD'S COLLIDING)"
09/27/2011 page 81
25.0% "(about to dive into 'Big-O' a la Fogus/Houser)"
10/09/2011 page 97
30.0% "Working through this book for the second time... one data structure at a time."
12/14/2011 page 125
38.0% "I'd like to think pg. 113 of Joy of Clojure is where I made my mark / cc @fogus"
01/25/2012 page 141
43.0% ""Ah... Recursion: the whipping boy of functional concepts.""
02/01/2012 page 164
50.0% "in the midst of macros"
02/02/2012 page 165
50.0% ""...in Lisp the distinction between DSL and API is thin to the point of transparency.""
02/02/2012 page 169
52.0% "(What? I've been reading about Clojure while I wait for these Grails apps to start up...)"
02/02/2012 page 177
54.0% "...is recognizing now that Groovy has some anaphora in it."
02/23/2012 page 189
58.0% "Re-reading the sections on multimethods and Yegge's UDP, I am reminded of the kinship between Clojure and JavaScript."
03/15/2012 page 247
75.0% "Refs &c."
03/15/2012 page 255
78.0% "Agents &c."
03/22/2012 page 277
84.0% "IIRC: these 2 final chapters were great - really looking forward to (finally) reading them in their final form."
03/22/2012 page 283
86.0% ""Implicit realization of the first 32 Mersenne primes through chunked sequences will finish long after the Sun has died.""
03/22/2012 page 285
87.0% ""...memoization is a personal affair, requiring a certain domain knowledge to perform efficiently and correctly.""
03/22/2012 page 289
88.0% ""Again we’ve made matters worse and have spread the problems over the surface of the entire code.""
03/22/2012 page 292
89.0% "Tempted to plow through and finish reading tonight... but sleep beckons. And/but... and/but..."
03/22/2012 page 293
89.0% ""When a language is built from the same data structures that the language itself manipulates, it’s known as homoiconic (Mooers 1965).""
03/22/2012 page 296
90.0% ""...English isn’t good for a DSL.""
03/22/2012 page 303
92.0% ""...design patterns have come to be viewed as goals in and of themselves, which is likely the source of the antagonism aimed at them.""
show 16 hidden updates…

Comments (showing 1-3 of 3) (3 new)

dateDown_arrow    newest »

message 1: by Ed (new) - added it

Ed Agreed about this not being a beginners book. Having only written imperative code since college, it's a hard slog at times.


message 2: by Rob (new) - rated it 4 stars

Rob Ed wrote: "Agreed about this not being a beginners book. Having only written imperative code since college, it's a hard slog at times."

Stick with it Ed! It's very much worth it. I don't (get to) use Clojure on a day-to-day basis for my work, but I feel that I learned a great many valuable lessons about programming from this one just the same.


Michael Hi Ed,

It hard to deny that Clojure is a huge change from what you might be used to. I'm probably biased (just a tiny bit), but I think it's worth the pain. Even if you never use Clojure, I hope that you'll be able to take something away from Clojure that might use to good effect in your day job/personal projects. Regarding the book itself, I'd be happy to try and clarify anything that you find particularly opaque.

Good luck and thanks for reading!


back to top