Recommended reading from Coders at Work

I really enjoyed reading Peter Siebel's Coders at Work, in which he interviews many prominent developers including Donald Knuth, Ken Thompson and Peter Norvig. A question that gets asked to the majority of the developers is what programming books do they recommend. I've complied some of their suggestions into the following list:

The Art of Computer Programming TAOCP is mentioned throughout Coders at Work. Some of the developers had read it all the way through, and really got stuck into the maths. Others, such as Doug Crockford had only used the book as a reference. Almost everybody agreed that this book should be on your shelf though.

Programming Pearls A book about good programming practice with examples in C, this classic has stood the test of time.

Beautiful Code The tagline for this book is "Leading Programmers Explain How They Think". The book contains lots of example code, and descriptions and commentary from the code's author. While this book is only recommended once in Coders at Work, almost all of the interviewees stress the importance of reading code, and this book can help with that.

Structure and Interpretation of Computer Programs SICP is recommended several times in the book. It's supposed to be a very in depth book, it looks at programming from a functional perspective, using Scheme. Zawinski says despite being "Lispy", it provides a great introduction to programming without teaching a language.

Purely Functional Data Structures Describes data structures from a functional programming point of view, rather than the more common imperative perspective (such as Java and C++ data structure books).

Higher Order Perl Brad Fitzpatrick recommends this book, which is about functional programming techniques in Perl. The reviews on Amazon seem to suggest this this is an excellent programming book, and should even be interesting for non-Perl developers.

Code Complete Jamie Zawinski describes this as "the book you wish your idiot coworker had read". It goes through the whole development lifecyle, including design, desbugging, testing and refactoring.

The Practice of Programming Co-authored by one of the creators of the C programming language, this book aims to teach you good programming practices to help you write faster and more maintainable code.

The list above is just a sample of some of the books recommended in Coders at Work. The Joshua Block interview also mentions lots of interesting Computer Science papers.

The interviews are really great. Most aren't particularly technical, but it is interesting to read about how these well-known programmers work, and to get some insight into some of the projects they've worked on. Coders at Work is well worth a read.

Posted on 24 Jan 2010
If you enjoyed reading this post you might want to follow @coderholic on twitter or browse though the full blog archive.