Clojure for the Brave and True - Daniel Higginbotham

GoodReads Summary: As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a "dessert-first" approach: you'll start playing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you'll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires.


There must be something wrong with Lisp (and Lisp-like) people that when they write about their language, they show the code first, then explain what they wrote -- which is kinda weird, because you read code that you barely understand what it is doing at first, then they explain and you have to go back and read it again to finally "click" it. And, sometimes, they forget what code they just wrote and you're left with commands that you have no idea what they do.

There is also a weird sense of humor, which I believe it could be fun if you watch whatever TV series the author uses as reference. For someone that doesn't follow and doesn't know what he's talking about, it's just... weird -- and not fun at all. Fortunately, the "humor" tones down to the end, which makes more "pleasant" to read.

While it covers a lot of ground in the book, some pieces really fall short in their examples. Threading and process fall short due the use of sleep, which is not something you'd normally write; the last appendix, about a tool called "Boot" tries to explain some concepts about tasks and middlewares with things that are not tasks and do not reflect the real world. Lacking this connection to real use of a tool just make things harder to udnerstand -- and even harder to see where you'd use it.

It's not the worst book about a Lisp-like language I've read -- and heck, it does a good job selling the language, to the point I'm already thinking about writing something in it -- but damn if these problems don't appear in every single one of those.