Most influential books for programmers
These are books considered most influential for programmers from this StackOverflow thread.
Why on Github?
Cause SO is cathedral, Github is bazzar ;)
Long answer: I frequently visit above thread. Over the time, such an active thread is closed, links to book sites are removed and I have to copy/paste/search everytime I go there. I am afraid they might remove it entirely.
So, the list is preserved here :)
Influential Books List
- Code Complete (2nd edition) by Steve McConnell
- The Pragmatic Programmer by Andrew Hunt and David Thomas
- Structure and Interpretation of Computer Programs by Sussman and Abelson (free pdf)
- The C Programming Language by Brian Kernighan and Dennis Ritchie
- Introduction to Algorithms by Cormen, Leiserson, Rivest & Stein
- Design Patterns by the Gang of Four
- Refactoring: Improving the Design of Existing Code by Martin Fowler
- The Mythical Man Month by Fred Brooks
- The Art of Computer Programming by Donald Knuth
- Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
- GΓΆdel, Escher, Bach by Douglas Hofstadter
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Effective C++ by Scott Meyers
- More Effective C++ by Scott Meyers
- CODE by Charles Petzold
- Programming Pearls by Jon Bentley
- Working Effectively with Legacy Code by Michael C. Feathers
- Peopleware by Demarco and Lister
- Coders at Work by Peter Seibel
- Surely You're Joking, Mr. Feynman! by Richard Feynman
- Effective Java 2nd edition by Joshua Bloch
- Patterns of Enterprise Application Architecture by Martin Fowler
- The Little Schemer by Matthias Felleisen and Daniel P. Friedman
- The Seasoned Schemer by Matthias Felleisen and Daniel P. Friedman
- Why's (Poignant) Guide to Ruby by why the lucky stiff (free PDF)
- The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper
- The Art of Unix Programming by Eric S. Raymond
- Test-Driven Development: By Example by Kent Beck (free PDF)
- Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt
- Don't Make Me Think by Steve Krug
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Domain Driven Designs by Eric Evans
- The Design of Everyday Things by Donald Norman
- Modern C++ Design by Andrei Alexandrescu
- Best Software Writing I by Joel Spolsky
- The Practice of Programming by Kernighan and Pike
- Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
- Software Estimation: Demystifying the Black Art by Steve McConnel
- The Passionate Programmer by Chad Fowler
- Hackers: Heroes of the Computer Revolution by Steven Levy (free ebook)
- Algorithms + Data Structures = Programs by Niklaus Wirth (free PDF)
- Writing Solid Code by Steve Maguire
- JavaScript - The Good Parts by Douglas Crockford
- Getting Real by 37 Signals (free PDF)
- Foundations of Programming by Karl Seguin (free PDF)
- Computer Graphics: Principles and Practice in C (2nd Edition) by Foley, Dam, Feiner, Hughes
- Thinking in Java by Bruce Eckel
- The Elements of Computing Systems by Noam Nisan and Shimon Schocken(free ebook)
- Refactoring to Patterns by Joshua Kerievsky
- Modern Operating Systems by Andrew S. Tanenbaum
- The Annotated Turing by Charles Petzold
- Things That Make Us Smart by Donald Norman
- The Timeless Way of Building by Christopher Alexander
- The Deadline: A Novel About Project Management by Tom DeMarco
- The C++ Programming Language (3rd edition) by Stroustrup
- Computer Systems - A Programmer's Perspective by Bryant and O'Hallaron
- Agile Principles, Patterns, and Practices in C# by Robert C. Martin
- Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
- Framework Design Guidelines by Brad Abrams
- Object Thinking by Dr. David West
- Advanced Programming in the UNIX Environment by W. Richard Stevens
- Hackers and Painters: Big Ideas from the Computer Age by Paul Graham
- The Soul of a New Machine by Tracy Kidder
- CLR via C# by Jeffrey Richter
- Design Patterns in C# by Steve Metsker
- Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
- About Face - The Essentials of Interaction Design by Alan Cooper
- Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
- The Tao of Programming by Geoffrey James (free ebook)
- Computational Beauty of Nature by Gary William Flake
- Philip and Alex's Guide to Web Publishing (free ebook)
- Object-Oriented Analysis and Design with Applications by Grady Booch
- Computability by N. J. Cutland
- Masterminds of Programming by Federico Biancuzzi
- The Tao Te Ching by Lao-tzu
- The Productive Programmer by Neil Ford
- The Art of Deception by Kevin Mitnick
- The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
- Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp by Peter Norvig (free ebook)
- Masters of Doom by David Kushner
- Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas
- How To Solve It by George Polya (free PDF)
- Smalltalk-80: The Language and its Implementation by Adele Goldberg
- Writing Secure Code (2nd Edition) by Michael Howard
- Introduction to Functional Programming by Richard Bird
- No Bugs! by David Thielen
- JUnit in Action by Petar Tahchiev
- Algorithms to Live By by Brian Christian
Original thread
What is the single most influential book every programmer should read?
If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?
I expect this list to be varied and to cover a wide range of things.