Dave's book review for The Ascetic Programmer

Page created: 2026-05-05
Updated: 2026-05-06
Book: The Ascetic Programmer
Author: Antonio Piccolboni
Pages: 258
Finished reading: 2026-05-04
Back to my books page for more reviews, etc.

My Review

I discovered this book while writing my Ascetic Computing page.

This book has its own website: https://asceticprogrammer.info/

As does the author: https://piccolboni.info/

I no longer have an Amazon account and the other options to purchase the book seem to have expired, so I went ahead and read it online at this direct URL: https://asceticprogrammer.info/book

I enjoyed reading The Ascetic Programmer and, to be honest, my first fear was that I agreed too _much with it, that reading it would be enjoyable, but not particularly useful to me. Certainly it started out that way, with a lot of programming anecdotes that were similar to things I’ve written myself such as Do it the dumb way first.

Thankfully, there was plenty of material that is well outside of my wheelhouse (Piccolboni is well versed in data science and I am not) to keep it fresh.

Here’s a wonderful sample passage from the introduction:

"…​among possible restrictions, the one on program length has caught my long-term interest. It has connections to different facets of computing, from maintainability to testing to theory. These associations are mostly positive, meaning that shorter programs are better along several dimensions: for instance, they are more readable and maintainable and contain fewer errors."

And my favorite bit from the introduction:

"May this book inspire you to adopt unnecessary restrictions in your endeavors."

It’s a fun read and there’s some dark humor mixed throughout that I appreciated. The book surveys a good variety of programming languages and I think the assessments are fair. Though we took slightly different approach, I thought it was neat that he went from covering programming languages to covering code libraries much as I did in Small Programs and Languages.

On the subject of libraries and APIs, I deeply love how he worded this criticism of an overly-verbose and unreadable API interface:

"…​the manifest of over-engineering, combined with a willingness to rename everything with generic names that obfuscate meaning. The usual offenders are “manager,” “handler,” and “context”: catch-all terms with an aura of competence."

I couldn’t possibly agree more strongly. In my experience, I’m about to encounter some really loathsome code when I see "manager" as the name of an object or class.

Kolmogorov complexity (wikipedia.org) and busy beaver games (wikipedia.org) and other such thought exercises add an element of computer science theory to the practical examples.

Public Service Announcement: You do not, in fact, "gotta hand it to" DHH for anything he has said or done. (Nod to dril.)

The statistical computing and deep learning sections were all new to me. In fact, the discussion of statistical graphics gave me an idea for a neat feature I might like to include in my maybe someday fantasy scripting language I keep dreaming about. (Don’t worry, I wrote down the idea.)

The conclusion contains this powerful statement that I endorse wholeheartedly:

"…​frugality and parsimony in their various manifestations aren’t just being stingy, or deprivations endured for the sake of character building. …​they go to the heart of how we build artifacts, which need to be predictable and reliable, that is, to follow their own simple laws."

Computer programs, as precise recipes for carrying out instructions, are a very special type of encoding for knowledge and that is exactly why brevity, clarity, and the right abstractions for foundational applications and libraries are so fundamentally important.

A recommended read!