I’ve seen many lists about the best programming books and I am sure there are a lot of books that are specific to a programming knowledge or technology – that I have not included in my list.
The books I have chosen are those that are meant to inspire, increase productivity and improve your programming design skills.
Note: This list has no particular order.
Code Complete 2
The main focus of this book to help you improve your programming design skills.
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt and David Thomas
This book focuses on the best practices of programming (i.e. what you should and should not do).
Pragmatic Thinking and Learning: Refactor Your Wetware
From the author of The Pragmatic Programmer, this book takes one-step back from programming and focuses on your everyday thinking and problem solving skills.
The Productive Programmer
Neal Ford and David Bock
This book will teach you different tools that you can use to make your programming life more productive.
Algorithms in a Nutshell
George T Heineman, Gary Pollice and Stanley Selkow
Unless you’ve memorized the implementation of every algorithm, this book is a handy desktop reference with pseudocode examples.
Alternate: Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
This book has become a staple in many undergraduate computer science programs. Containing much more information and details on algorithms.
Head First Design Patterns
Lisabeth Freeman, Eric Freeman, Bert Bates, and Kathy Sierra
The people at Head First have a way of explaining things in a straight-forward, non-technical approach – a good tutorial and desktop reference.
Alternate: Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides
Also a common computer science textbook by the Gang of Four (GOF), this book has much more information and more detail on design patterns.
If you are interested in exploring other programming books and reading reviews, check out ProgrammingBooks.org.
What book inspires you to be a better programmer?