Adam Tornhill
Swedish programmer with degrees in engineering and psychology, author of Your Code as a Crime Scene and founder of CodeScene.
Adam Tornhill did not write this page. What is this?
It collects the places they publish and what they have said there, each linked to the source. They have no account here. Is this you? Claim it, correct it, or ask us to remove it from ppll.
Where they publish
Code for Humans and MachinesNewsletter His newsletter on code quality, patterns and coding in the agentic era.
Open adamtornhill.substack.com
Link verified 5 Sept 2026.
Recommends rcmnd
What they recommendrcmnd 13 things — each backed by an exact quote.
Compiled by rcmnd.app, not by them: the quotes are theirs, and each links to the post it was copied from.
Recent
Multi-Paradigm Design for C++ Liked
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.
adamtornhill.substack.com 2026-08-11
The Little Schemer Recommends
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.
adamtornhill.substack.com 2026-08-11
The Design of Design Liked
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.
adamtornhill.substack.com 2026-08-11
Show 10 more
Let Over Lambda Loved
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.
adamtornhill.substack.com 2026-08-11
Working Effectively with Legacy Code Recommends
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.
adamtornhill.substack.com 2026-08-11
What others say about Working Effectively with Legacy Code →
The Mythical Man-Month Recommends
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.
adamtornhill.substack.com 2026-08-11
Clean Code Mixed on
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.
adamtornhill.substack.com 2026-08-11
The Nature of Code Loved
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.
adamtornhill.substack.com 2026-08-11
Thinking Forth Loved
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.
adamtornhill.substack.com 2026-08-11
Facts and Fallacies of Software Engineering Recommends
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.
adamtornhill.substack.com 2026-08-11
What others say about Facts and Fallacies of Software Engineering →
Paradigms of Artificial Intelligence Programming Loved
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.
adamtornhill.substack.com 2026-08-11
What others say about Paradigms of Artificial Intelligence Programming →
Structure and Interpretation of Computer Programs Loved
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.
adamtornhill.substack.com 2026-08-11
What others say about Structure and Interpretation of Computer Programs →
Smalltalk Best Practice Patterns Loved
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.
adamtornhill.substack.com 2026-08-11