The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
2.4 KiB

+++
title = "Clojure for the Brave and True - Daniel Higginbotham"
date = 2017-04-09
[taxonomies]
tags = ["books", "daniel higginbotham", "clojure", "reviews", "it", "3 stars"]
+++
[GoodReads Summary](https://www.goodreads.com/book/show/20873338-clojure-for-the-brave-and-true):
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.
<!-- more -->
{{ stars(stars=3) }}
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
<tt>sleep</tt>, 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.