Reading Lists
People§
Book |
Author |
Read |
Masterminds of Programming |
Federico Biancuzzi / Chromatic |
|
The Soul of a New Machine |
Tracy Kidder |
|
Coders at Work |
Peter Seibel |
|
Masters of Doom |
David Kushner |
|
Hackers and Painters |
Paul Graham |
|
Thinking§
Book |
Author |
Read |
Zen and the Art of Motorcycle Maintenance |
Robert M.Pirsig |
|
Pragmatic Thinking and Learning |
Andy Hunt |
|
The Timeless Way of Building |
Christopher Alexander |
|
The Productive Programmer |
Neal Ford |
|
The Tao of Programming |
Geoffrey James |
|
The Mythical Man-Month |
Frederick P. Brooks, Jr. |
|
Dreaming in Code |
Scott Rosenberg |
|
Object Thinking |
David West |
|
The Deadline |
Tom DeMarco |
|
Peopleware |
Tom DeMarco / Timothy Lister |
|
Getting Real |
Jason Fried / David Heinemeier Hansson / Matthew Linderman |
|
Rework |
Jason Fried / David Heinemeier Hansson |
|
Hackers |
Steven Levy |
|
Joel on Software |
Joel Spolsky |
|
More Joel on Software |
Joel Spolsky |
|
Programming§
Book |
Author |
Read |
Programming Language Pragmatics |
Michael L. Scott |
|
Essentials of Programming Languages |
Daniel P. Friedman / Mitchell Wand |
|
The Little Schemer |
Daniel P. Friedman / Matthias Felleisen |
|
The Seasoned Schemer |
Daniel P. Friedman / Matthias Felleisen |
|
Structure and Interpretation of Computer Programs |
Steve McConnell |
|
How to Design Programs |
Matthias Felleisen / Robert Bruce / Findler Matthew Flatt / Shriram Krishnamurthi |
|
Elements of Programming |
Alexander Stepanov / Paul McJones |
|
A Discipline of Programming |
Edsger W. Dijkstra |
|
The Practice of Programming |
Brian W. Kernighan / Rob Pike |
|
The Elements of Programming Style |
Brian W. Kernighan / P. J. Plauger |
|
Programming Pearls |
Jon Bentley |
|
More Programming Pearls |
Jon Bentley |
|
Foundations of Programming Languages |
Kent D. Lee |
|
Introduction to Functional Programming |
Richard Bird / Philip Wadler |
|
Paradigms of Artificial Intelligence Programming |
Peter Norvig |
|
Theory§
Book |
Author |
Read |
Computability |
Nigel Cutland |
|
Computability and Logic |
George S. Boolos / John P. Burgess / Richard C. Jeffrey |
|
The Annotated Turing |
Charles Petzold |
|
Math§
Book |
Author |
Read |
Concrete Mathematics |
Ronald L.Graham / Oren Patashnik / Donald E.Knuth |
|
From Mathematics to Generic Programming |
Alexander A. Stepanov / Daniel E. Rose |
|
Gödel, Escher, Bach |
Douglas Richard Hofstadter |
|
How to Solve It |
G. Polya |
|
Algorithm§
Book |
Author |
Read |
Introduction to Algorithms |
Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest / Clifford Stein |
|
The Art of Computer Programming |
Donald E. Knuth |
|
Hacker's Delight |
Henry S. Warren Jr. |
|
System§
Book |
Author |
Read |
Computer Systems: A Programmer's Perspective |
Randal E.Bryant David O'Hallaron |
|
The Elements of Computing Systems |
Noam Nisan / Shimon Schocken |
|
Understanding the Digital World |
Brian W. Kernighan |
|
CODE |
Charles Petzold |
|
Network§
Book |
Author |
Read |
Computer Networking |
James F. Kurose / Keith W. Ross |
|
TCP/IP Illustrated |
W. Richard Stevens |
|
Compiler§
Book |
Author |
Read |
Compilers |
Alfred V. Aho / Monica S. Lam / Ravi Sethi / Jeffrey D. Ullman |
|
Engineering a Compiler |
Keith Cooper / Linda Torczon |
|
Parallel§
Book |
Author |
Read |
Parallel and High Performance Computing |
Robert Robey / Yuliana Zamora |
|
Programming Massively Parallel Processors: A Hands-On Approach |
David B. Kirk / Wen-Mei W Hwu |
|
Architecture§
Book |
Author |
Read |
Design Patterns |
Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides |
|
Object-Oriented Analysis and Design with Applications |
Grady Booch |
|
Clean Architecture |
Robert C. Martin |
|
Patterns of Enterprise Application Architecture |
Martin Fowler |
|
Fundamentals of Software Architecture |
Neal Ford / Mark Richards |
|
System Design Interview |
Alex Xu |
|
Domain-Driven Design |
Eric Evans |
|
System Architecture |
Edward Crawley / Bruce Cameron / Daniel Selva |
|
Framework Design Guidelines |
Krzysztof Cwalina / Brad Abrams |
|
Pattern-oriented software architecture |
Frank Buschmann |
|
Software§
Book |
Author |
Read |
Practices of an Agile Developer |
Venkat Subramaniam / Andy Hunt |
|
Growing Object-Oriented Software, Guided by Tests |
Steve Freeman / Nat Pryce |
|
Code Complete |
Steve McConnell |
|
Writing Solid Code |
Steve Maguire |
|
Writing Secure Code |
Michael Howard / David LeBlanc |
|
Clean Code |
Robert C. Martin |
|
The Pragmatic Programmer |
David Thomas / Andy Hunt |
|
Refactoring |
Martin Fowler |
|
Working Effectively with Legacy Code |
Michael Feathers |
|
Facts and Fallacies of Software Engineering |
Robert L. Glass |
|
Implementation Patterns |
Kent Beck |
|
Test Driven Development |
Kent Beck |
|
Software Estimation |
Steve McConnell |
|
Binary§
Book |
Author |
Read |
程序员的自我修养 |
俞甲子 / 石凡 / 潘爱民 |
|
Learning Linux Binary Analysis |
Ryan O'Neill |
|
逆向工程核心原理 |
李承远 |
|
Practical Reverse Engineering |
Bruce Dang / Alexandre Gazet / Elias Bachaalany / Sébastien Jos |
|
Book |
Author |
Read |
The AWK Programming Language |
Alfred V. Aho / Peter J. Weinberger / Brian W. Kernighan |
|
Systems Performance |
Brendan Gregg |
|
UNIX§
Book |
Author |
Read |
Advanced Programming in the UNIX Environment |
W. Richard Stevens / Stephen A. Rago |
|
Unix Network Programming |
W.Richard Stevens / Bill Fenner / Andrew M. Rudoff |
|
The Unix Programming Environment |
Brian W. Kernighan / Rob Pike |
|
The Art of UNIX Programming |
Eric S·Raymond |
|
Book |
Author |
Read |
The C Programming Language |
Brian W. Kernighan / Dennis M. Ritchie |
|
The CERT C Secure Coding Standard |
Robert C. Seacord |
|
C Traps and Pitfalls |
Andrew Koenig |
|
Pointers on C |
Kenneth A.Reek |
|
Expert C Programming |
Peter Van Der Linden |
|
C++§
Book |
Author |
Read |
A Tour of C++ |
Bjarne Stroustrup |
|
The C++ Programming Language |
Bjarne Stroustrup |
|
Programming: Principles and Practice Using C++ |
Bjarne Stroustrup |
|
Edsger W. Dijkstra |
Bjarne Stroustrup |
|
Effective C++ |
Scott Meyers |
|
More Effective C++ |
Scott Meyers |
|
Effective Modern C++ |
Scott Meyers |
|
Effective STL |
Scott Meyers |
|
Essential C++ |
Stanley B. Lippman |
|
Inside the C++ Object Model |
Stanley B. Lippman |
|
C++ Primer |
Stanley B. Lippman / Josée Lajoie / Barbara E. Moo |
|
Exceptional C++ |
Herb Sutter |
|
More Exceptional C++ |
Herb Sutter |
|
Exceptional C++ Style |
Herb Sutter |
|
C++ Coding Standards |
Herb Sutter / Andrei Alexandrescu |
|
Modern C++ Design |
Andrei Alexandrescu |
|
The C++ Standard Library |
Nicolai M.Josuttis |
|
C++ Templates |
David Vandevoorde / Nicolai M.Josuttis / Douglas Gregor |
|
C++ Template Metaprogramming |
David Abrahams / Aleksey Gurtovoy |
|
C++模板元编程实战 |
李伟 |
|
Accelerated C++ |
Andrew Koenig / Barbara E. Moo |
|
Ruminations on C++ |
Andrew Koenig / Barbara E. Moo |
|
The Elements of C++ Style |
Trevor Misfeldt / Gregory Bumgardner |
|
Optimizing software in C++ |
Agner Fog |
|
C/C++ programming language notes |
Dennis Yurichev |
|
C++ Concurrency in Action |
Anthony Williams |
|
Discovering Modern C++ |
Peter Gottschling |
|
Clean C++20 |
Stephan Roth |
|
C++ Effective Object-Oriented Software Construction |
Kayshav Dattatri |
|
C++ Common Knowledge |
Stephen C. Dewhurst |
|
C++ Strategies and Tactics |
Robert B. Murray |
|
Haskell§
Book |
Author |
Read |
Parallel and Concurrent Programming in Haskell |
Simon Marlow |
|
Reference§
resources - What is the single most influential book every programmer should read? - Stack Overflow