Elements of ClojureZachary Tellman
Elements of Clojure
by Zachary Tellman · first published 2019
22mentions
13recommended by
17HN commenters
2016–2026first – last mentioned
76% recommend24% neutral
Why HN recommends it
Thoughtful treatment of naming, abstraction, and interface design that applies well beyond Clojure, which only supplies the examples. Suits working programmers who want idiomatic practice made explicit, not a tutorial.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.





…understand or overly abstracted (misdirected). If something is easy to name, it likely follows [insert any software development "best practice" here]. What's a good name? I love the phrasing from _Elements of Clojure_ by Zachary Tellman [1] > Names should be narrow and consistent. A *narrow* name clearly excludes things it cannot represent. A *consistent* name is easily understood by someone familiar with the surrounding…
on “Code doesn’t have to be a mess” ↗…Extreme Ownership: Jocko Willink and Leif Babin (once you get through the ho-rah stuff it's a fantastic read) - Time Management for System Administrators: O'Reilly (fantastic for interrupt driven work) - Elements of Clojure: Zachary Tellman (not just for Clojure devs)
on “Ask HN: Reading material on how to be a better software engineer?” ↗What are people's recommendations on books on how and when to create the right abstractions? Last year I read Zach Tellman's _Elements of Clojure_ and really loved the parts that touched on the subject of abstraction.
on “The Wrong Abstraction (2016)” ↗…talk over a generic, well designed interface do work well. HTTP, Unix Pipes, currency, mail, bees... the whole becomes adaptive and accommodating. This kind of design is discussed in the latter half of Elements of Clojure by Zachary Tellman. https://elementsofclojure.com/ What I like about this, to come back to the article, is that it gives a clear sense of where generality should reside.
on “Opinion-Driven Design” ↗The Art of Electronics is on my technical reading list as well. If you are into Clojure, you will probably enjoy Elements of Clojure by Zachary Tellman. It is not a tutorial, it's more like an attempt to bring tacit knowledge of idiomatic programming practices into light.
on “Ask HN: Technical Summer Reading List” ↗…have nothing to do with algorithms and everything to do with the organization running the project. It's marketed to new engineers, but I think anyone who writes software would get something out of it. "Elements of Clojure" by Zach Tellman is a fantastic high-level architectural philosophy about how we build and compose abstractions. Only wish that the title wasn't tied to the Clojure programming language (most of the book…
on “Ask HN: What books should I read to improve as a software engineer?” ↗…methods are to blame for the reproducibility crisis in science. How the World Really Works by Vaclav Smil. A no-nonsense, factual account of the systems that keep our modern globalized society running. Elements of Clojure by Zach Tellman. A concise, high-level philosophy about how we build and compose abstractions. One of those books where every sentence is gold. My only wish that the book wasn't tied to Clojure (most…
on “Ask HN: What were the best books you read this year?” ↗Elements of Clojure has a free sample chapter on naming (worth reading!) https://elementsofclojure.com/
on “Why we need a book about naming” ↗One of the best practical CS books is Elements of Clojure [1]. The chapter that is available as a free preview is about naming. The author has a philosophy background, and this really shines through in a good way when talking about naming. ___ 1. https://leanpub.com/elementsofclojure
on “Why we need a book about naming” ↗Elements of Clojure is an excellent book that goes through what a good name is and what it should represent. Don't be put off by the "Clojure" in the title, the book is really not about Clojure but about programming, using…
on “Cognitive Biases in Software Development” ↗Two things that accelerated my learning: 1. There are several fantastic books on Clojure. The Joy of Clojure and Elements of Clojure are some of my favorites. 2. Watching a professional using an editor/IDE with a REPL attached to it. Look for online videos. This is the biggest reason to why people are „addicted“ to it. The language…
on “Ask HN: What Are You Learning?” ↗Another good one is "Elements of Clojure" (https://elementsofclojure.com/) which I think is a slightly misleading title. It's a generally good programming book, it just happens to use Clojure for it's examples, but I don't think it's required…
on “Abstract Clojure” ↗They say naming is one of the hard problems of computer science, but there's not much concrete work addressing it. I'd recommend Elements of Clojure[0]. Don't be fooled by the title, it's not really about Clojure, it just uses Clojure as an illustration as it discusses a very subtle general problem. From the website: > The first chapter, Names,…
on “Ask HN: Good books on philosophy of engineering?” ↗the book "Elements of Clojure" covers this.
on “Think in Math, Write in Code” ↗…finally be taken seriously as a real disagreement. ---- Something feels very withheld about Zach's message which is surprising because I think Zach is such a good communicator on technical subjects (e.g. Elements of Clojure). I'm not even sure what Zach wants the reader to think Zach feels about Paul. The whole comment above is me trying to meander a guess. Where does Zach actually put Paul on a scale from outright intellectual…
on “Thought Leaders and Chicken Sexers” ↗