Ask HN: What language-agnostic programming books should I read? ↗
The books people recommended
2017-06-05 · 927 points · 337 comments · 132 books named by at least one person here and at least 3 people overall. The number on the left is how many people named it in this thread.
- 19Working Effectively with Legacy Code
- 17

- 13

- 12

- 12

- 11

- 9

- 8

- 8The Psychology of Computer Programming
- 7

Compilers: Principles, Techniques, and Tools
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
7 here · 25 all-time · #240 overall
- 7The Art of Unix Programming
- 6

- 6

Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
6 here · 71 all-time · #47 overall
- 5

- 5Coders at Work
- 5The Effective Engineer
- 5The Practice of Programming
- 5Head First Design Patterns
Head First Design Patterns
Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra
5 here · 16 all-time · #399 overall
- 5Types and Programming Languages
- 5Thinking Forth
- 4

- 4

- 4

- 4Advanced Programming in the UNIX Environment
- 4Software Tools
- 4Let Over Lambda
- 4How to Make Friends and Influence People
- 3

Design Patterns
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
3 here · 80 all-time · #42 overall
- 3Computer Systems: A Programmer's Perspective
Computer Systems: A Programmer's Perspective
Randal E. Bryant; David R. O'Hallaron
3 here · 26 all-time · #220 overall
- 3

- 3A Pattern Language
- 3Concepts, Techniques, and Models of Computer Programming
Concepts, Techniques, and Models of Computer Programming
Peter Van Roy and Seif Haridi
3 here · 16 all-time · #409 overall
- 3Engineering a Compiler
- 3Transaction Processing: Concepts and Techniques
- 3Clean Coder
- 3Applied Cryptography
- 3Implementing Domain Driven Design
- 2

- 2The Elements of Computing Systems
- 2

- 2

- 2

- 2The Cuckoo's Egg
- 2Operating Systems: Three Easy Pieces
- 2Effective Java
- 2

- 2Patterns of Enterprise Application Architecture
- 2Joy of Clojure
- 2Practical Object-Oriented Design in Ruby
- 2The Linux Programming Interface
- 2Elements of Programming
- 2The Design of Design
- 2Cracking the Coding Interview
- 2The Reasoned Schemer
The Reasoned Schemer
Daniel P. Friedman, William E. Byrd, Oleg Kiselyov
2 here · 6 all-time · #1117 overall
- 2Test-Driven Development by Example
- 2The Art of Unit Testing
- 2Software Tools in Pascal
Software Tools in Pascal
2 here · 4 all-time · #1756 overall
- 2Algorithmics
- 2SQL Performance Explained
- 2Dependency Injection in .NET
- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1Artificial Intelligence: A Modern Approach
Artificial Intelligence: A Modern Approach
Stuart Russell and Peter Norvig
1 here · 29 all-time · #195 overall
- 1The Code Book
- 1The Annotated Turing
- 1

- 1Are Your Lights On?
- 1Drive
- 1Game Programming Patterns
- 1Algorithm Design
- 1Test Driven Development
- 1Purely Functional Data Structures
- 1The Unix Programming Environment
- 1The Art of the Metaobject Protocol
- 1Unix Network Programming
- 1The Elements of Programming Style
The Elements of Programming Style
Brian Kernighan and P. J. Plauger
1 here · 9 all-time · #697 overall
- 1The Passionate Programmer
- 1Continuous Delivery
- 1A Discipline of Programming
- 1Systemantics
- 1Theory of Computation
- 1The New Turing Omnibus
- 1The Cathedral and the Bazaar
- 1The New Testament
- 1Death March
- 1Software Foundations
- 1Growing Object-Oriented Software Guided by Tests
Growing Object-Oriented Software Guided by Tests
Steve Freeman and Nat Pryce
1 here · 6 all-time · #1070 overall
- 1Modern Compiler Implementation in ML
- 1JavaScript Allonge
- 1Apprenticeship Patterns
- 1Cryptography Engineering
- 1Code Complete 2
- 1How Buildings Learn
- 1The Architecture of Open Source Applications
The Architecture of Open Source Applications
1 here · 5 all-time · #1296 overall
- 1Facts and Fallacies of Software Engineering
- 1Starting Forth
- 1The Pattern on the Stone
- 1The Art of Readable Code
- 1Programming in the 1990s
- 1Code Reading
- 1Making Software
- 1A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
David R. Hanson
1 here · 4 all-time · #1606 overall
- 1The Seasoned Schemer
- 1Object Oriented Software Construction
- 1Out of the Tar Pit
- 1From Mathematics to Generic Programming
From Mathematics to Generic Programming
Alexander Stepanov and Daniel E. Rose
1 here · 4 all-time · #1801 overall
- 1Language Implementation Patterns
- 1Enterprise Integration Patterns
- 1Dynamics of Software Development
- 1Beautiful Code
- 1Essentials of Programming Languages
Essentials of Programming Languages
Daniel Friedman and Mitchell Wand
1 here · 3 all-time · #2031 overall
- 1Think Stats
Think Stats
1 here · 3 all-time · #2100 overall
- 1Intuitive Biostatistics
- 1The Cartoon Guide to Statistics
- 1The Garbage Collection Handbook
The Garbage Collection Handbook
Richard Jones, Antony Hosking, Eliot Moss
1 here · 3 all-time · #2178 overall
- 1Building Microservices
- 1Programmers at Work
- 1Release It!
- 1A Fortran Coloring Book
A Fortran Coloring Book
1 here · 3 all-time · #2439 overall
- 1Discovering Statistics Using R
- 1500 lines or less
500 lines or less
1 here · 3 all-time · #2475 overall