We all have our favorite books, the ones which we won’t let them pry away from our fingers until they’re cold. Those books which have shaped us, molded us, made us. The ones for which we’ve bought the first, second, third, and fourth editions. And not just because you’ve “gotta catch them all”, but because you genuinely enjoy the book and want to keep up to date with it.
Here are some of mine:
The Unix Programming Environment, Kernighan and Pike
This was my first real exposure to how to program unix. My copy’s been read and re-read. In fact, I had to replace it recently — I’d loaned it out and didn’t get it back and it’s important enough to have a copy of it that I needed another. Despite it being from 1984, there’s still a lot of value in this book.
The C Programming Language, Kernighan and Ritchie
Referred to many as “The Bible”, this book taught me a lot. I’ve got both the first and second editions of this one. Whether implementing my own virtual malloc, or programming low level adapters, this book was indispensable. I think, too, that it’s really helped my understanding of Unix. I’ve not written much C of late, but I’m glad for the years that I did.
The Awk Programming Language, Aho, Weinberger, and Kernighan
Awk has got to be my favorite “little” language. It’s really quite flexible and powerful — I even wrote an IEEE floating point number generator (put in text/internal representation of a number, get a float out) as part of an excel file exporter written back before the excel file format was well documented. I also like that for many tasks (i.e., what it was designed for) it’s far more succinct than other languages. Other languages might have more features and/or functionality, but for many things Awk is more succinct and, in the words of Paul Graham, Succinctness is Power.
Web Design in a Nutshell, Robbins, Ýýelik, Featherstone, and Gustafson
I have owned all three editions of this one (the first and second have been gifted) and all of them have seen heavy use. It is a good desk reference — the CSS coverage could be more (but there are many books devoted to just css). I’ll buy the next edition, too, when/if it comes out.
The Ruby Way, Fulton
I really like the idea that there is a Tao, a way, of Ruby — a mindset and way (that isn’t a way) that if you can achieve it makes Ruby easy… Of course, the same can be said of other languages. But still, this book is very good at approaching that mindset.
The Pragmatic Programmer, Hunt and Thomas
This book has done a lot to get me to question my practices, previous or otherwise, and to get me to think about ways to be a better developer. I’d highly recommend it.
Beautiful Code, Oram and Wilson
This is an awesome book — the glimpses it provides into the minds of some of the top people in the field are wonderful. This book definitely needs to be approached with an open mind!