Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cs-books/influential-cs-books

Most influential books on Computer Science/programming
https://github.com/cs-books/influential-cs-books

books computer-science influential-books programming-language

Last synced: 25 days ago
JSON representation

Most influential books on Computer Science/programming

Awesome Lists containing this project

README

        

# Most influential books for programmers

These are books considered most influential for programmers from this [StackOverflow thread](http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read).

## Table of contents
------------------------------------

* [Why on Github?](#why-on-github)
* [Original thread](#original-thread)
* [Influential Books List (by topic)](#influential-books-list-by-topic)
* [Algorithms](#algorithms)
* [Design and Refactoring](#design-and-refactoring)
* [Developer Best Practices](#developer-best-practices)
* [Driven Designs](#driven-designs)
* [Experiance Transfer](#experiance-transfer)
* [History and Culture](#history-and-culture)
* [JUnit](#junit)
* [Language/Environment Specific](#languageenvironment-specific)
* [Personal Development](#personal-development)
* [Philosophy](#philosophy)
* [Scheme](#scheme)
* [Software Project Management](#software-project-management)
* [Theories and Fundamentals of Computer Systems](#theories-and-fundamentals-of-computer-systems)
* [UI/UX](#uiux)
* [Web Applications and Publishing](#web-applications-and-publishing)
* [Z: Singles/Uncategorized](#singlesuncategorized)

## 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 :)
## 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.

## Influential Books List (by topic)

### Algorithms
1. [Introduction to Algorithms](http://mitpress.mit.edu/books/introduction-algorithms) by Cormen, Leiserson, Rivest & Stein
2. [The Art of Computer Programming](http://www-cs-faculty.stanford.edu/~uno/taocp.html) by Donald Knuth
------------------------------

### Design and Refactoring
1. [Introduction to Functional Programming](http://www.cs.ox.ac.uk/publications/publication2613-abstract.html) by Richard Bird
2. [Design Patterns](http://c2.com/cgi/wiki?DesignPatternsBook) by the Gang of Four
3. [Refactoring: Improving the Design of Existing Code](http://martinfowler.com/books/refactoring.html) by Martin Fowler
4. [Programming Pearls](https://a.co/d/aCcO9SH) by Jon Bentley
5. [Working Effectively with Legacy Code](http://www.informit.com/store/working-effectively-with-legacy-code-9780131177055?aid=15d186bd-1678-45e9-8ad3-fe53713e811b) by Michael C. Feathers
6. [Patterns of Enterprise Application Architecture](http://martinfowler.com/books/eaa.html) by Martin Fowler
7. [Agile Software Development, Principles, Patterns, and Practices](http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445) by Robert C. Martin
8. [Object-Oriented Analysis and Design with Applications](http://www.amazon.com/Object-Oriented-Analysis-Design-Applications-Edition/dp/020189551X) by Grady Booch
9. [Object Thinking](http://www.microsoft.com/learning/en-us/book.aspx?ID=6820) by Dr. David West
10. [Growing Object-Oriented Software, Guided by Tests](http://www.growing-object-oriented-software.com/) by Steve Freeman and Nat Pryce
11. [Refactoring to Patterns](http://industriallogic.com/xp/refactoring/) by Joshua Kerievsky
12. [About Face - The Essentials of Interaction Design](http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111) by Alan Cooper
13. [Framework Design Guidelines](http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613) by Brad Abrams
------------------------------

### Developer Best Practices
1. [Code Complete (2nd edition)](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670) by Steve McConnell
2. [The Pragmatic Programmer](http://pragprog.com/the-pragmatic-programmer) by Andrew Hunt and David Thomas
3. [Structure and Interpretation of Computer Programs](https://web.mit.edu/6.001/6.037/sicp.pdf) by Sussman and Abelson (free pdf)
4. [Clean Code: A Handbook of Agile Software Craftsmanship](http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882) by Robert C. Martin
5. [Practices of an Agile Developer](http://pragprog.com/book/pad/practices-of-an-agile-developer) by Venkat Subramaniam and Andy Hunt
6. [The Practice of Programming](http://cm.bell-labs.com/cm/cs/tpop/) by Kernighan and Pike
7. [Writing Solid Code](http://c2.com/cgi/wiki?WritingSolidCode) by Steve Maguire
8. [Agile Principles, Patterns, and Practices in C#](http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258) by Robert C. Martin
9. [No Bugs!](http://www.amazon.com/No-Bugs-Delivering-Error-Free/dp/0201608901) by David Thielen
10. [The Productive Programmer](http://nealford.com/books/productiveprogrammer) by Neil Ford
------------------------------

### Driven Designs
1. [Test-Driven Development: By Example](http://www.eecs.yorku.ca/course_archive/2003-04/W/3311/sectionM/case_studies/money/KentBeck_TDD_byexample.pdf) by Kent Beck (free PDF)
2. [Domain Driven Designs](http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215) by Eric Evans
------------------------------

### Experiance Transfer
1. [Coders at Work](http://www.codersatwork.com/) by Peter Seibel
2. [The Career Programmer: Guerilla Tactics for an Imperfect World](https://www.barnesandnoble.com/w/career-programmer-christopher-duncan/1100626061) by Christopher Duncan
3. [Masterminds of Programming](http://www.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170) by Federico Biancuzzi
4. [Best Software Writing I](http://joelonsoftware.com/articles/BestSoftwareWriting.html) by Joel Spolsky
------------------------------

### History and Culture
1. [The Art of Unix Programming](http://www.catb.org/~esr/writings/taoup/) by Eric S. Raymond
2. [The Annotated Turing](http://www.theannotatedturing.com/) by Charles Petzold
3. [Masters of Doom](http://www.amazon.com/Masters-Doom-Created-Transformed-Culture/dp/0812972155) by David Kushner
4. [The Art of Deception](https://a.co/d/8OIJYBQ) by Kevin Mitnick
5. [The Art of Intrusion](https://a.co/d/74NV0vW) by Kevin D. Mitnick, William L. Simon
6. [The Soul of a New Machine](http://www.tracykidder.com/books/soul/) by Tracy Kidder
7. [Hackers: Heroes of the Computer Revolution](http://www.gutenberg.org/ebooks/729) by Steven Levy (free ebook)
------------------------------

### JUnit
1. [JUnit in Action](http://www.manning.com/tahchiev/) by Petar Tahchiev
------------------------------

### Language/Environment Specific
1. [The C Programming Language](https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/) by Brian Kernighan and Dennis Ritchie
2. [Computer Graphics: Principles and Practice in C (2nd Edition)](http://www.amazon.com/Computer-Graphics-Principles-Practice-Edition/dp/0201848406) by Foley, Dam, Feiner, Hughes
3. [Effective C++](http://www.aristeia.com/books.html) by Scott Meyers
4. [More Effective C++](http://www.aristeia.com/books.html) by Scott Meyers
5. [Modern C++ Design](http://erdani.com/index.php/books/modern-c-design/) by Andrei Alexandrescu
6. [The C++ Programming Language (3rd edition)](http://www.stroustrup.com/3rd.html) by Stroustrup
7. [Pragmatic Unit Testing in C# with NUnit](http://pragprog.com/book/utc2/pragmatic-unit-testing-in-c-with-nunit) by Andy Hunt and Dave Thomas
8. [CLR via C#](http://shop.oreilly.com/product/9780735627048.do) by Jeffrey Richter
9. [Design Patterns in C#](http://www.amazon.com/Design-Patterns-C-Software/dp/0321718933) by Steve Metsker
10. [Effective Java 2nd edition](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683) by Joshua Bloch
11. [Thinking in Java](http://www.mindviewinc.com/Books/TIJ4/) by Bruce Eckel
12. [JavaScript - The Good Parts](http://javascript.crockford.com/) by Douglas Crockford
13. [Why's (Poignant) Guide to Ruby](http://www.rubyinside.com/media/poignant-guide.pdf) by why the lucky stiff (free PDF)
14. [Smalltalk-80: The Language and its Implementation](http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf) by Adele Goldberg
15. [Advanced Programming in the UNIX Environment](https://a.co/d/bQVYa5n) by W. Richard Stevens
16. [Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp](https://github.com/norvig/paip-lisp) by Peter Norvig (free ebook)
------------------------------

### Personal Development
1. [Algorithms to Live By](https://brianchristian.org/algorithms-to-live-by/) by Brian Christian
2. [Pragmatic Thinking and Learning: Refactor Your Wetware](http://pragprog.com/press_releases/pragmatic-thinking-and-learning-refactor-your-wetware) by Andy Hunt
3. [Zen and the Art of Motorcycle Maintenance](http://www.amazon.com/Zen-Art-Motorcycle-Maintenance-Inquiry/dp/0060589469) by Robert M. Pirsig
4. [The Passionate Programmer](http://pragprog.com/book/cfcar2/the-passionate-programmer) by Chad Fowler
------------------------------

### Philosophy
1. [Computational Beauty of Nature](https://mitpress.mit.edu/9780262561273/the-computational-beauty-of-nature/) by Gary William Flake
2. [Hackers and Painters: Big Ideas from the Computer Age](http://www.paulgraham.com/hackpaint.html) by Paul Graham
3. [The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity](http://www.amazon.com/The-Inmates-Are-Running-Asylum/dp/0672326140) by Alan Cooper
4. [The Elements of Computing Systems](http://www.nand2tetris.org/) by Noam Nisan and Shimon Schocken(free ebook)
5. [The Tao of Programming](http://www.canonical.org/~kragen/tao-of-programming.html) by Geoffrey James (free ebook)
6. [The Timeless Way of Building](http://www.amazon.com/The-Timeless-Building-Christopher-Alexander/dp/0195024028) by Christopher Alexander
7. [Things That Make Us Smart](http://www.jnd.org/books/things-that-make-us-smart-defending-human-attributes-in-the-age-of-the-machine.html) by Donald Norman
8. [The Tao Te Ching](https://a.co/d/2yycDpP) by Lao-tzu
------------------------------

### Scheme
1. [The Little Schemer](https://mitpress.mit.edu/books/little-schemer-fourth-edition) by Matthias Felleisen and Daniel P. Friedman
2. [The Seasoned Schemer](https://mitpress.mit.edu/books/seasoned-schemer-second-edition) by Matthias Felleisen and Daniel P. Friedman
3. [How To Solve It](https://a.co/d/1HmpVyc) by George Polya (free PDF)
------------------------------

### Software Project Management
1. [The Mythical Man Month](http://www.amazon.com/The-Mythical-Man-Month-Engineering-Anniversary/dp/0201835959) by Fred Brooks
2. [Peopleware](http://www.amazon.com/Peopleware-Productive-Projects-Second-Edition/dp/0932633439) by Demarco and Lister
3. [Software Estimation: Demystifying the Black Art]([http://www.stevemcconnell.com/est.htm)(https://www.oreilly.com/library/view/software-estimation-demystifying/0735605351/)) by Steve McConnel
4. [The Deadline: A Novel About Project Management](http://tomdemarco.com/Books/deadline.html) by Tom DeMarco
5. [Here Comes Everybody: The Power of Organizing Without Organizations](http://www.amazon.com/Here-Comes-Everybody-Organizing-Organizations/dp/0143114948) by Clay Shirky
------------------------------

### UI/UX
1. [Don't Make Me Think](http://www.sensible.com/dmmt.html) by Steve Krug
------------------------------

### Theories and Fundamentals of Computer Systems
1. [Compilers: Principles, Techniques and Tools](http://www.amazon.com/Compilers-Principles-Techniques-Tools-Edition/dp/0321486811) by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
2. [Foundations of Programming](http://openmymind.net/FoundationsOfProgramming.pdf) by Karl Seguin (free PDF)
4. [Modern Operating Systems](http://www.cs.vu.nl/~ast/books/mos2/) by Andrew S. Tanenbaum
5. [Computer Systems - A Programmer's Perspective](http://csapp.cs.cmu.edu/) by Bryant and O'Hallaron
6. [Computability](http://www.amazon.com/Computability-Introduction-Recursive-Function-Theory/dp/0521294657) by N. J. Cutland
7. [CODE](http://www.charlespetzold.com/code/) by Charles Petzold
8. [Algorithms + Data Structures = Programs](http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf) by Niklaus Wirth (free PDF)
------------------------------

### Web Applications and Publishing
1. [Getting Real](https://gettingreal.37signals.com/) by 37 Signals (free PDF])
2. [Philip and Alex's Guide to Web Publishing](http://philip.greenspun.com/panda/) (free ebook)
------------------------------

### Singles/Uncategorized
1. [Gödel, Escher, Bach](http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567) by Douglas Hofstadter
2. [Surely You're Joking, Mr. Feynman!](http://www.amazon.com/Surely-Feynman-Adventures-Curious-Character/dp/0393316041) by Richard Feynman
3. [The Design of Everyday Things](https://a.co/d/7je9D2y) by Donald Norman
4. [Writing Secure Code (2nd Edition)](https://a.co/d/gUYZptk) by Michael Howard
------------------------------