Tagged: book

RSS
2025.MAR.03

APOSD vs Clean Code

This document is the result of a series of discussions, some online and some in person, held between Robert "Uncle Bob" Martin and John Ousterhout between September 2024 and February 2025.

John is the author of the book A Philosophy of Software Design (APOSD), a book that was first published in 2018. This book has been on my “to read” list for a while now—I’ve heard very good reviews for it from a lot of people.

“Uncle Bob” Martin and his 2008 book Clean Code of course need no introduction. Clean Code is one of the OG books on modern programming1.

This is an open debate between the two authors on the ideas they disagree on. And—wow, wow, wow—what a fantastic debate this is! The quality and depth of discussion is great, they both pull all the punches without holding back, and yet they are very civil throughout. I have never seen anything like this.

I mostly side with John in this debate. While I found many ideas in Clean Code to be very good—especially when I read it many many years ago as a young engineer, I’ve over time felt that it’s too dogmatic and not all that pragmatic.

This is a long read, but it’s well worth your time if you tend to geek out on the nuances of programming and low-level design.

Footnotes

  1. The Pragmatic Programmer & Code Complete being the other two books I consider in this league. Many consider Refactoring also to be part of this elite club, but I haven’t read it myself.

2025.JAN.12

Book: AI Engineering by Chip Huyen

From the book's Preface:

This book provides a framework for adapting foundation models, which include both large language models (LLMs) and large multimodal models (LMMs), to specific applications.

There are many different ways to build an application. This book outlines various solutions and also raises questions you can ask to evaluate the best solution for your needs.

I picked up this book after reading its preface (through the free sample on Amazon). I’m excited to work through it over the next few weeks.

Although we can learn a lot of the stuff from the book by digging through free resources online, I find the way a book is organized super helpful. It pulls everything together, letting me explore the topics both broadly and deeply without getting lost.

(via Simon Willison)