Computer Science Radar

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

Tools§

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

C§

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