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
Steve McConnell
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
Andy Hunt
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?









Hi Daniel,
I’ll have a look at the “Productive Programmer” as soon as I can.
great list – Code Complete is my favorite too
I would the following to the list for generic development:
Clean Code: A Handbook of Agile Software Craftsmanship, by ‘Uncle Bob’
Refactoring: Improving the Design of Existing Code, by Martin Fowler
And, specifically for Java development:
Effective Java, by Joshua Bloch
Java Concurrency in Practice, by Brian Goetz
~ Write SOLID code…
-kodeninja
Clean Code seconded
Clean Code thirded
Problem with Programming Books link……..
Not sure what happed to this site, here is a link to a cached version from archive.org.
Come on. HTDP, SICP aren’t on the list?
classic books – code complete and pragmatic programmers – still rule
http://www.amazon.com/Software-Carpentry/lm/R1DZU56SR0YD3Y lists the books I used to put together the Software Carpentry course and several undergrad courses at the University of Toronto.
Good list. Always was pissed off about Code Complete – if I’d only known I could put my class notes from Ga. Tech into a book and beat him to the punch! Of course, many books these days are recycled material.
Thanks for the article, it was very helpfull.
Filmberichte
Hey buddy nice collection to be shared. Thanks for share.
Code complete is super verbose, Head First is too light. That’s just my opinion though.
Valuable info. Lucky me I found your site by accident, I bookmarked it.
How about ‘The Little Schemer’ ? Its a great book for truly understanding and thinking in recursion.
Nice collection. I own the last three. Will definitely look for others too.
The only book a real programmer needs is Kernighan and Ritchie’s The C Programming Language.
I personally hate Head First’s approach at explaining things, but from what I’ve heard from others it seems about half the people like it at first glance, and another quarter can get used to it. I just don’t fall in either of those groups.
Time to hit the books. I really need to dig in and look at website development and programming differently.
Amazed no K&R. I think every programmer should start with the classics
Thanks. It’s good to have a list like this, and it is not language-specific.
Really good list! I have many of these next to me. For C++ programmers, I would also add Josuttis’ “The C++ Standard Library”
Not a single useful book – only tons of the religious useless OOP and patterns blah-blah-blah. Do you really think everyone “should” read them?!? TAoCP and SICP are gazillions of times more useful for any programmer.
I owned first book which explains and focuses on main programming approach we must use.
Duh! Knuth’s volumes and A Programming Language perhaps?
You kids’ progress rests upon the shoulders of giants.