# Programming Books My top 5 books. Notes lifted from my comments: [Paradigms of Artificial Intelligence Programming (1992) | Hacker News](https://news.ycombinator.com/item?id=32458048#32459851) - [[BOOK - Paradigms of Artificial Intelligence Programming - Peter Norvig]] It's actually just a really good book about programming, with both "high-level" but also really practical advice (how to attack performance issues, how to debug). The examples are all really fun to build and extend. In fact I'm going through it again currently (I kickstarted a datalog compiler off of the prolog compiler chapter). - [[BOOK - The Pragmatic Programmer - Andrew Hunt, David Thomas]] This changed my life when I started programming 20 years ago. Most of the practices are now common, but it was almost radical back then. - [[BOOK - Designing Data-intensive Applications - Martin Kleppmann]] This is so well written, so elegantly fundamental. It's an absolute pleasure, even if I don't really refer to it in practice. - [[BOOK - Structure and Interpretation of Computer Programs - 2nd Edition - Harold Abelson Gerald Jay Sussman Julie Sussman]]] In many ways, the MIT version of PAIP. Its elegance complements the pragmatism of PAIP well. - [[BOOK - The Unicorn Project - Gene Kim]] My number 5 book varies often, because I haven't found many books that reach the writing quality of the other 4. This is a business novel, but it really solidified a lot of concepts for me: lean, queues, theory of constraints, what devops is about, working as a programmer in a business.