ybooks

Readers

Adam Tornhill

Swedish programmer with degrees in engineering and psychology; author of Your Code as a Crime Scene and founder of CodeScene.

13 books on the record · 11 Aug 2026 – 11 Aug 2026

The bar next to each date shows how long ago it was said: 6d is days, 4yr is years.

mixed on it

Clean Code by Robert C. Martin

Clean Code is another standard recommendation, but that one wasn't for me. There are useful design principles in there worth studying, but the book as a whole is too narrow and a bit too dogmatic for my taste. Your mileage might vary.

on adamtornhill.substack.com · 11 Aug 2026

recommends it

Facts and Fallacies of Software Engineering by Robert L. Glass

Facts and Fallacies of Software Engineering by Robert L. Glass. In essence, this is a book about an industry that refuses to learn. That was true 25 years ago when this book was published, and it's probably twice as true today. (Just think about all the AI adoption metrics being rolled out — back to productivity mistaken for lines of code produced, only more elaborate. And expensive). What I like about this book is that Glass doesn't present anything new. Quite the opposite, actually. Rather, it's about research lessons that we all should know, but tend to forget. Ever had to do an estimate, or plan according to a requirements spec? Or maybe you thought that enough eyeballs make all bugs shallow? Then this book is for you. A great work by a fantastic author.

on adamtornhill.substack.com · 11 Aug 2026

loved it

Let Over Lambda by Doug Hoyte

Let Over Lambda by Doug Hoyte is perfect for those three people in the world who find The Art of the Metaobject Protocol underwhelming. One of the most impressive books I've read.

on adamtornhill.substack.com · 11 Aug 2026

liked it

Multi-Paradigm Design for C++ by James O. Coplien

Multi-Paradigm Design for C++ by James O. Coplien. Twenty years after reading this, the core techniques are still with me. These are commonality analysis, where the purpose is to identify families of systems, and variability analysis, which focuses on capturing the domain parameters that vary. In essence: the foundation of great software design.

on adamtornhill.substack.com · 11 Aug 2026

loved it

Paradigms of Artificial Intelligence Programming by Peter Norvig

Paradigms of Artificial Intelligence Programming by Peter Norvig. Learning the AI described in this book probably won't land you a job today. But reading the code examples will transform how you think about source code. The book shines when it comes to code comments, a topic that I've never seen demonstrated well in other sources. Here we get to see how comments become valuable as a narrative that explains both intent and reasoning. Brilliant, just brilliant.

on adamtornhill.substack.com · 11 Aug 2026

loved it

Smalltalk Best Practice Patterns by Kent Beck

Smalltalk Best Practice Patterns. True, Kent Beck is better known for his later work, which is excellent too. But Smalltalk Best Practice Patterns is particularly strong on coding style. I learned a lot by just reading the code examples. Small tweaks to names and abstractions add up. No one captures that better than Kent.

on adamtornhill.substack.com · 11 Aug 2026

loved it

Structure and Interpretation of Computer Programs by Harold Abelson

Structure and Interpretation of Computer Programs (SICP) by Gerald Jay Sussman and Hal Abelson. SICP is my all-time favourite programming book. It's also where I learned about the power of wishful thinking when coding. SICP uses wishful thinking as a design tool: write code as if the abstraction already existed. Pretend. Then, once the ideal abstraction has taken shape, you go ahead and implement those functions. This meta-level is what made SICP so valuable. Ultimately, it's a book that teaches how to think about code and problem solving. I'm tempted to even say that SICP is more a work of art than a pure coding book, but I won't go there. A beautiful book.

on adamtornhill.substack.com · 11 Aug 2026

liked it

The Design of Design by Frederick P. Brooks

The Design of Design by Frederick P. Brooks. It never received the attention that The Mythical Man-Month got, yet The Design of Design shares many of its qualities. It's a book that grows, and there's a wealth of insights on offer.

on adamtornhill.substack.com · 11 Aug 2026

recommends it

The Little Schemer by Friedman and Felleisen

The Little Schemer by Friedman and Felleisen. This book won't teach you Scheme. Rather, it teaches something more valuable: it teaches how to think recursively.

on adamtornhill.substack.com · 11 Aug 2026

recommends it

The Mythical Man-Month by Frederick P. Brooks

First, Refactoring, Domain-Driven Design, and the Pragmatic Programmer are all classics for a reason. Amazing books, and mandatory reads. Working Effectively with Legacy Code deserves all its praise, and of course everyone (yes, really) should check out the Mythical Man-Month.

on adamtornhill.substack.com · 11 Aug 2026

loved it

The Nature of Code by Daniel Shiffman

This book is a beautiful introduction to simulations of natural systems. We get concise prose, clear illustrations, and carefully chosen systems with a guided tour through the math. All done in the Processing language, which is fun and easy to pick up. The reason I like this book so much is probably due to timing. In 2013, I was on the verge of abandoning software development. I was fed up. (That's a story for another time.) Instead, I planned to go into cognitive psychology full-time as a researcher. This book brought back the joy in programming for me. Sometimes, a good book is the book that motivated you.

on adamtornhill.substack.com · 11 Aug 2026

loved it

Thinking Forth by Leo Brodie

Thinking Forth by Leo Brodie. I used to have this habit where I learned various programming languages. To challenge my perspective, I chose languages from families and paradigms that were fundamentally different from what I already knew. Occasionally, I stumbled upon greatness. Thinking Forth presents programming as a creative process, and it delivers those lessons in an entertaining and pedagogical way. The book is particularly strong on software analysis and design, but it's the execution and technical writing that brought the book to my top five. This is the book for anyone writing about software — Leo's way is the way to do it.

on adamtornhill.substack.com · 11 Aug 2026

recommends it

Working Effectively with Legacy Code by Michael Feathers

First, Refactoring, Domain-Driven Design, and the Pragmatic Programmer are all classics for a reason. Amazing books, and mandatory reads. Working Effectively with Legacy Code deserves all its praise, and of course everyone (yes, really) should check out the Mythical Man-Month.

on adamtornhill.substack.com · 11 Aug 2026

Everything Adam Tornhill recommends — not just books — on rcmnd →

That little bar

It says how long ago something was said, so you can tell last month from 2014 without doing the arithmetic. Full and green is recent; it drains and cools as the date gets older, and empties completely at about 6 years.

A striped bar means the date itself is an estimate — the source did not carry an exact one. An entry with no date at all gets no bar.