Several visitors have remarked at the fact that K&R was my bathroom reader. So be it.
It is hard to talk about The C Programming Language. Sure, K&R is a book about C, but it’s also one of the best programming books, in general, I’ve ever read. What is so appealing about it is its elegance and simplicity. Introduce some concepts, and here’s a real program. No dicking around. The culmination of the 8 short chapters is an implementation of malloc. Every example is simple, powerful, and expressive. If Tufte were to lecture on how to teach programming instead of how to design information visualizations, this would be his prime example. The additional exercises are thought-provoking and instructive. The book tells no more and no less than is necessary to be a C programmer. Do I have a full appreciation for every detail of the language? Hardly. Am I a better programmer for having read it? Yes. And not just in C.
It is now my firm belief that every person who writes code for a living (or may do so in the future) should read this book. K&R is short, readable, and to the point, and a masterpiece of the genre. The 2nd edition is now nearly two decades old, and is just as useful and readable as it was the day it was written. Buy it, now, and read it. 10/10.