Ask DZ: What Book Do You Think Every Programmer Should Read?
Do you ever think about all the great books for programmers, and then form your opinion on the one book that every programmer should read? Maybe a traditionalist will pick Donald Knuth's The Art of Computer Programming. Or maybe Fred Brooks' The Mythical Man-Month, for a more human-oriented take.
If you're really deep into a particular language, then perhaps you really love something like Dennis Ritchie's The C Programming Language or (even for non-Python coders?) How to Think Like a Computer Scientist.
Grigory at Online Hut recently claimed that the best programming book is Charles Petzold's Code: The Hidden Language of Computer Hardware and Software. His reason? It helps you understand how computers work.
So maybe include some reasons why your chosen book is so great, and/or some examples of how it helped you. Maybe the book you choose won't be strictly about programming. Just think about the books you've read and if there's one that stands above the rest as a must-read for any programmer.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





Comments
John Esposito replied on Mon, 2011/10/31 - 11:34am
Roger Studner replied on Mon, 2011/10/31 - 12:01pm
Wow.. hard to pick one.. i'm going to go off the obvious track:
Rob Harrop's Pro Spring (from back in the 1.2 days). I had come from years of Swing and JESS coding.. C++ before that.. and had just gotten into doing web apps.. and Spring + DI changed my view of constructing software more than anything before or since.
Michael Wooten replied on Mon, 2011/10/31 - 12:29pm
Cristian Vasile... replied on Mon, 2011/10/31 - 12:41pm
I would heartly recommend "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin. It's about how to write maintainable programs: naming, method length, etc. If all developers would read it, the maintainance cost (and maintainers unhapiness) would decrease dramatically.
To quote Martin Fowler, "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
Josh Chappelle replied on Mon, 2011/10/31 - 12:45pm
Attila Magyar replied on Mon, 2011/10/31 - 1:36pm
Albert Liptay replied on Mon, 2011/10/31 - 3:01pm
Scott Hickey replied on Mon, 2011/10/31 - 3:53pm
from their lectures: "Computer science is a terrible name for this business. First of all, it's not a science...It's also not really very much about computers."
dennis sellinger replied on Tue, 2011/11/01 - 5:05am
Sina Bagherzadeh replied on Tue, 2011/11/01 - 5:37am
Sivaprasadreddy... replied on Tue, 2011/11/01 - 7:19am
1. Expert One-on-One J2EE Design and Development
2. Clean Code: A Handbook of Agile Software Craftsmanship
3. Effective Java
Bogdan Marian replied on Tue, 2011/11/01 - 8:52am
Nick Portelli replied on Tue, 2011/11/01 - 10:43am
Rafal Borowiec replied on Tue, 2011/11/01 - 11:58am
Mladen Girazovski replied on Tue, 2011/11/01 - 1:38pm
1. "Refactoring - Improving the Design of existing Code" by Martin Fowler
2. "Clean Code" by Robert C. "Uncle Bob" Martin
3. "Domain Driven Design" by Eric Evan
4. "Test Driven Development" by Kent Beck
5. "XUnit Test Patterns - Refactoring Test Code" by Gerard Meszaros
"Design Patterns - Elements of Reusable Object-Oriented Software" by the GoF is a bit outdated imho, but the patterns of course should be well known to a developer (and one them should be avoided ;))
"Effective Java 2nd Edition" by Bloch should also be well known to any Java Developer.
Funny to see how many othes here have the same opinions about the same books :)
Andrew Spencer replied on Tue, 2011/11/01 - 4:26pm
dennis sellinger replied on Fri, 2011/11/04 - 2:01pm
Giorgio Sironi replied on Sun, 2011/11/06 - 5:28am
Carla Brian replied on Sat, 2012/04/14 - 9:57pm