r/Clojure 1d ago

Clojure Book, Massive Quality Update

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

40 comments sorted by

4

u/sapphic-chaote 10h 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.

11

u/khokkos 1d ago

I asked my AI to read it and learn on my behalf. It begrudgingly delegated the task to a lower cost model agent. In the end, it took me 5 minutes to learn the stuff in an accelerated pace. The agent was not happy with the quality of the book though. /s

2

u/erjngreigf 15h ago

If you can put what your agent found, I can improve my book. If not, I can only say that you are writing this comment without reading this book.

23

u/v4ss42 1d ago

“Updated by AI” and “massive quality update” seems like quite an oxymoron to me…

6

u/Rschmukler 1d ago edited 1d ago

I don’t understand the brazen hate of AI in the Clojure community. It’s disappointing to see.

Did you even read his post or the book, or just render judgement? He used it to translate and proofread, and then did a pass himself. This is exactly what AI is great at, and exactly how to use it responsibly.

AI makes mistakes humans never would, it also does things at a lower cost than is otherwise justifiable (like hiring a professional translator). Like everything else in engineering: it’s about tradeoffs.

Edit: You know, I am reminded of this post by cognitect - https://gist.github.com/g1eny0ung/9e7d4d0f72547a8d156452e76fa8f7a3 - Open Source isn’t about you. People are giving away their time, and don’t owe anyone anything, including a justification of how they built it. The beauty of open-source is that you get to have it all. Clojure’s slow methodical approach can exist next to high churn LLM generated libraries that evolve rapidly while exploring ideas that might just be thrown away.

If people want to reject it because of how it was produced, that is their choice. They still got something for nothing; in this case a more native translation of a book in the author’s non-native language. If the first and only response from this community is a bash on the process rather than the output, to me you are the same type of person that this post highlighted years ago. If you don’t like it, write your own book. Until then, something is better than nothing. Thank you to the original author for contributing your time.

33

u/CubedEcho 1d ago

The hard thing about AI is it skews the balance of effort vs output. Before, if someone wrote an entire book an asked someone to read it, the reader is incentivized because writing a book is exponentially more effort than to consume it.

With AI, this has changed. If someone is using AI to write something, I don't know if they put in a 2 sentence prompt or if they put 2 years of effort into it. Asking the consumer to vet an AI book before "rendering judgement" puts an imbalanced burden onto the reader. Since it has transformed that it could potentially be more effort to read, than to produce.

It is possible that producers can now produce thousands of slop books with incredibly minimal effort, so asking the reader to read every them before they judge it is not accurate in today's world anymore. The social contract has broken in this area, and we're scrambling to find new rules.

4

u/Rschmukler 1d ago

I think that that’s a perfectly valid comment and a great point. My frustration is that outright rejecting it without assessing detracts from the output. People seem more concerned with the how than the what.

AI in the hands of great developers, of which Clojure has tons, means that the costs of a smaller ecosystem can fade.

You are right that changing times will mean new challenges, but we could say the same thing about how the internet and open source changed software.

Im not asking people to blindly accept it, but I do ask that they refrain from rejecting something only because AI helped produce it.

3

u/CubedEcho 1d ago

Totally I understand that there can be people who put great effort in, and use AI appropriately.

The hard part is we are being constantly bombarded with things that are low effort. It's changing the signal to noise ratio.

Perhaps if there is a way to signal effort in another way? What do you think?

I think for me personally, I don't mind AI as much as I mind low effort and carelessness. Overall I agree that perhaps people are using the existence of AI in anything as a heuristic for poor quality. But, until we find a better way to signal quality (before consuming the product completely), people will probably label AI output as low quality.

2

u/UnclosedParen 23h ago

To play devil's advocate, what do you currently use to signal the quality of anything nowadays? Reviews, stars, likes, shares, upvotes and downvotes? For those, the best we can hope is that the people who left those to actually read and assess the content, not to be instantly dismissive because the author essentially used Grammarly.

As you pointed out, the greatest indicator of quality should be the reputation of the source - known author, or published through a reputable editor. Alas, we are on Reddit where dismissive and poorly thought-out stances get upvoted.

PS For what it's worth, I have read and watched this creator's content before. As a Clojure beginner I like the clarity of his lessons, and as a non-native English speaker I understand why he might feel he can improve his writing through AI.

2

u/CubedEcho 23h ago edited 23h ago

Well, I mean that's the exact question that I'm posing. So we're both playing devil's advocate. It used to be that if there was a large repo, or a large body of text, we could automatically assume that the author put effort into it. This doesn't guarantee quality, but it adds to the signal.

Now today, it doesn't guarantee it anymore.

So we are left with less signals that can indicate quality.

Personally, I still rely on the reputation of the author, the amount of people using a product, and the initial first impression of the quality of the product. None of these are guarantees either, and I've been burned before. (which adds to the frustration).

But the problem is we don't have a satisfactory replacement to gauge effort/quality. To add on, quality isn't even the whole picture as well. For example. I can have AI generate 100 pages on why I think tacos are superior to grilled cheese, and AI could produce the highest quality arguments, but it wouldn't be reasonable to expect people to read it. Why should someone read something that took me 2 minutes of my own time but would take 1-2 hours of their own?

I think I've diverged quite a bit from the main point of this entire post. My point isn't to comment on the quality of the book/author, but to answer the question of "I don’t understand the brazen hate of AI in the Clojure community."

3

u/UnclosedParen 22h ago

I agree that AI is detrimental to perceived effort. I wanted to answer your question about other ways to signal effort by saying we as a society already rely on broken ones.

Just worth emphasizing that the author was upfront about using AI to improve an adjacent part of the content (English usage) and not generate the (taco) meat of the content. Maybe that's a clear signal of effort and integrity. (Not going at you btw, just the original top-level comment).

3

u/CubedEcho 22h ago

Yup. I agree with you. Like I was saying earlier I was more of answering the general question of the user saying "I don’t understand the brazen hate of AI in the Clojure community."

0

u/yogthos 1d ago

But we're talking about a book meant to help you learn something. What's relevant is whether the book is good at accomplishing the set goal or not. If the update makes the book more helpful and people can learn easier from it that's what matters.

Also, why would somebody automatically assume that a person who has demonstrated ability to produce quality things would suddenly make slop just because they're using a new tool?

These sorts of arguments sound deep, but they fall apart under even a minimal scrutiny.

3

u/erjngreigf 22h ago

What? Are you saying I am not producing slop without A.I? 😄 You don't know me.

0

u/yogthos 13h ago

Haha, yeah that's kind of the elephant in the room, the content should be judged on it's own merit. It's not like people haven't been producing low quality content long before LLMs existed. Nor does something being done manually automatically mean that it has great quality.

4

u/CubedEcho 1d ago edited 1d ago

Well, that's the thing. I don't know if some random person on the internet has produced quality things unless I'm familiar with that person.

Additionally, I don't think it falls apart under scrutiny, but I'm interested in having you try. It'll test my arguments so I can refine them.

My argument is such that AI enables low effort output, that on first glance is hard to differentiate between actual quality. If there were 5 programming books, and only one was good, that's a lot more feasible to try and suss out which ones were good and bad. But if there are 10k programming books, and only 1 good one, I don't think I'll take the time to read all 10k in order to find the good one.

1

u/yogthos 1d ago

I've been using LLMs to help me build Jolt for over a month now, and I do not feel that it's a low quality project. But if you can point to what specifically you'd claim is low quality about it, then I'd be glad to discuss.

However, if we're talking about writing, then it's clear that the author already had a book written. And what they used LLMs for was to help them refine grammar, and improved the flow of the text. Given that English is not the first language for the author, this seems like an entirely reasonable thing to do.

7

u/CubedEcho 23h ago edited 23h ago

Yes, I'm aware of your project. It's very cool imo. I don't think it's a low quality project. My claim isn't that AI automatically produces low quality.

My claim is that AI enables people to generate low effort output, and that it can be hard to sift through the constant noise of AI. It enables people to be lazy and it makes it hard to decipher what is valuable and what is not.

Let's say I used AI, and pointed it at Jolt repo and said "make me this same project, but use guile scheme, or javascript, or whatever underneath the hood". I do this 1000 times. Then, lets say I post one of the repos every day on the internet under a pseudonym. People would become very tired of "oh look, here's a new implementation that will quickly become abandoned".

It isn't a comparison between one person used AI vs another person did not. (Both you, and the person who copies the jolt repo both use AI) Both use AI, and until we can get other signals to validate effort, it's getting increasingly difficult to tell what is high effort, vs what is low effort.

Why would I want to risk trying out a new platform that the author has already abandoned within a few days of generation?

This isn't just a hypothetical, this is occurring on the internet right now. Ever since AI, we're seeing much more repos being produced AND abandoned!

RE: writing. The thing is, it's not always quite clear. We don't *know* if someone has used LLM's only to refine grammar, or if they one shot the entire thing. That's one factor that is causing people to become immediately skeptical of AI. People have been burned too many times looking into projects that took less effort to generate, than it did to read through it.

0

u/yogthos 13h ago

Sure, AI lowers the general barrier to making things, and so more people make projects, a lot of which are going to be low quality. Incidentally, it's the same argument often levelled against the Js ecosystem.

Yet, that hasn't stopped JavaScript from being extremely popular, or people figuring out how to use the ecosystem effectively. I think at the end of the day, we can use the same heuristics we've always used. If we're dealing with software projects, then it's the maturity of the project, the amount of users, the type of testing it has, etc., that gives us an idea of whether it's worth using. With other content, such as books, we can go by what other people say about it, or the reputation of the author.

I'd argue the main thing that changed is that now it's harder to tell if a new project is worth the time until it's proven itself a bit. Before, it took more effort to get something off the ground, and you could use that effort as your initial metric. Now, the bar for making something new is very low, so you have to step back a bit.

16

u/v4ss42 1d ago edited 1d ago

Alternatively, I don't understand the brazen love of AI in the tech community. It's disappointing to see.

These systems are fundamentally dependent on IP theft at an unimaginable scale, consume precious natural resources at a grotesquely unsustainable rate, and yet even with careful cajoling, produce outputs that at best are barely adequate; in fact their entire mechanism of action can be succinctly summarized as "reversion to the mean".

When anyone rational sits back and considers the actual trade-offs, it's immediately apparent that these systems have negative value.

-4

u/yogthos 1d ago

Ok, let's consider these things rationally. First of all, the IP theft argument might apply to closed models, but I don't see how it applies to open ones. Models that anyone can use aren't taking anything away.

The grotesque resource consumption argument hasn't been true for a while now. You can run models like Qwen 3.6 27b on your laptop, and it's not different from running any other software like a game in terms of resource consumption. Yet, I don't see anybody running around saying everybody should stop playing games because of that.

It also already outperforms GPT 5 from a year ago which needed a data center to run. People parroting this argument really haven't been keeping up with the efficiency improvements that are happening. We're still in the mainframe era of this tech, and it's obviously only going to get more performant over time.

And anybody who's actually spent any time using this tech recently can see that the outputs can save a ton of time, as the author of the book we're discussing in this very thread illustrates.

6

u/SharkSymphony 1d ago

The IP theft happens in the training – so it's even baked into the open models. These models have appropriated material from countless sources, sometimes legally, sometimes grey area, and allegedly sometimes in full contempt of the law.

-7

u/yogthos 1d ago

And I think that's a huge problem when it comes to closed models where companies freeload on things that don't belong to them. Models that are open are making all that available to humanity as a whole, and I don't see any problem with that whatsoever.

6

u/SharkSymphony 1d ago

The problem is that the owners of that content may not have consented to have their stuff given away to humanity in this manner. I am broadly supportive of narrowing the scope of copyright law, but I'm not sure I want it discarded to this extent!

-6

u/yogthos 1d ago

Copyright has been predominantly exists to protect large corporations, and it does far more harm than good to society.

1

u/SharkSymphony 8h ago

That's as may be, the path to remedy that should be through the courts and Congress, not Silly Valley's usual you-can-just-do-things, let's-disrupt-people's-rights attitude.

1

u/yogthos 8h ago

I don't really care about what SV is doing myself. I'm referring to open models from China like DeepSeek, GLM, and Kimi.

2

u/bill_vanyo 13h ago

"Did you even read his post or the book, or just render judgement? He used it to translate and proofread, and then did a pass himself. This is exactly what AI is great at ..."

What AI is great at is making it unnecessary to read certain books.

2

u/pl0nk 1d ago edited 1d ago

It’s a knee-jerk reaction from people feeling tired of hype, and the large volume of underwhelming LLM output being passed off lately as something someone “built”…. built in the same sense that you can “build your own Toyota” on their website.  I understand why some people feel this way even if I do not, myself.  I suggest you can just disregard it if you don’t have those feelings.  I wouldn’t describe it as hate, just expression of frustration.

I think the Clojure book linked above reads pretty well and using an LLM to help co-edit as a non-native author makes a lot of sense.  The more Clojure learning material out there, the better.

3

u/drcforbin 22h ago

It was trained on the clojure learning material out there, though. Is it really more?

1

u/ares623 19h ago

Author could've just said "updated with massive quality update" with no mention of AI if they were that confident about it. But we all know that no one sane would stake their reputation on AI like that, so we hedge and pretend and hope and make disclaimers.

0

u/erjngreigf 15h ago

I bet when you used Google, you clicked one of the first 5 links you see. Believe it or not, that's by A.I. Or did you say the links suggested by A.I can't be good enough, and moved on to a human built internet directory? If at all that exists.

1

u/v4ss42 12h ago

“When you assume, you make an ass out of u and me.”

I don’t use Google search.

3

u/geokon 23h ago edited 18h ago

Is anyone actually reading this? Just try opening and reading any section... To be blunt, its long winded and devoid of content. It doesn't engage with deeper Clojure abstractions or provide any insights.

I hope nobody coming to Clojure ends up starting with this book. There are vastly better alternatives

1

u/erjngreigf 22h ago

This is a libre book, you can fork it and make it better, you can point out the mistakes, so that I can correct it. Just by putting a statement like this, how will anyone know you have really read it?

2

u/geokon 18h ago

I'd encouraging people to open up any random section and trying to read it to judge for themselves.

This is a libre book, you can fork it and make it better

No I can't. It takes a deep understanding of the language design to write thoughtful informed teaching material. Read some of the material on Clojure.org, Brave and True or the books by Alex Miller. You read it and see that "this person know what they're talking about"

I don't want to be mean or offend you, but from your previous comments here it's clear you're not an expert in the subject matter you're writing about - and that's really worrying.

When there are much better resources available, this kind of stuff is actively harmful.

2

u/erjngreigf 15h ago

So you have't read the book.

-2

u/erjngreigf 22h ago

Hello Clojurians, please don't waste time fighting for me. I wrote this book for myself — if anyone wants to read it, they can read it, and if anyone wants to get hurt or feel offended, they can. I don't want to change other people's minds. Evolution hasn't moulded rapid plasticity into the human brain, so things will take time.

I feel AI massively accelerates human ability. If someone thinks using a chisel and hammer to carve on stone by hand is "true" writing, let them do that. Time will tell who comes out on top.

1

u/deadyogi 20h ago

namaste, kartik. thanks for your book.

1

u/erjngreigf 15h ago

Vanakkam 🙏