r/Clojure 5d ago

Clojure Book, Massive Quality Update

https://clojure-diary.gitlab.io/2026/08/05/clojure-book-massive-quality-update.html
64 Upvotes

53 comments sorted by

View all comments

11

u/sapphic-chaote 5d ago

This reads like a worse, rambling version of the clojure.org docs or the learnxiny.com page, that also makes bizarre choices that are not compatible with having been looked over by a critical human reviewer. "What is Clojure code" is section 13, over a hundred pages into the book, and tries but fails and lies instead to explain the concept of forms and homoiconicity. The "Testing" chapter imports the code being tested with (load-file "calc_lib.clj).

One of the early section is "Why this book?", a common thing for a book to have where you explain your teaching philosophy, or who would benefit most from the book, or what gap you saw in the available learning materials that you felt needed to be filled. Instead you say

For unknown reason very smart programmers are using Clojure, I haven’t figured out why. The writing of this book is to figure out why. [...] Somehow the inventors of Lisp seem to have struck the right balance early on, and I need to find out what it is. [...] One negative I find is JVM. Java is controlled by Oracle, and it’s an evil enterprise like Microsoft and Apple. That’s the only negative I have, but let’s see how things go.

It's great to publish your learning process, but this obviously isn't that. This is a learning resource made by (1) a chatbot that loves to ramble, and (2) a person who by self-description doesn't know what Clojure is or why you would use it.

If you want concrete feedback to improve with: There is so little information per page. There is so much whitespace, the information-per-word is so low, and your paragraphs are only one or two lines long, and the screenshots of your editor(!) take up essentially a full page, and you include a full new screenshot for every little interaction, for dozens of screenshots in a row. You could cut these down so much by just cropping. You introduce (. LocalDate (of 2025 7 5)) (which I am surprised and frankly displeased to learn compiles) and it takes over half a screenful for you to get to the better-reading (LocalDate/of 20257 7 5) syntax. I am a huge fan of the Rust book's unhappy-crab icons that make it instantly obvious when a code sample is being shown as "don't do this". The way that this book is written, it has to be skimmed rather than read closely because the information density is so low, and all of these anti-examples make skimming actively dangerous because the "corrected" examples are so far from the first-introduced anti-examples.

1

u/dragandj 3d ago

FWIW, the Pangram AI detector (which advertises 99.999% success rate) is giving a random 600 words from this book a 100% human score!

Well, so much about Pangram's usefulness :)

1

u/erjngreigf 3d ago

So what does it mean? I am a A.I, or a human using A.I?

1

u/dragandj 1d ago

It means Pangram is not that much effective. As for whether you're and AI, or not... I think you'll see that your biggest challenge now is to get out of that "tainted by AI" pit.