I am going to take 2-3 years spare time to finish some classical books. Some of them have been half-finished. This job does not conflict with daily work and paper reading.
Programming Languages and Compilers
- Types and Programming Languages Book by Benjamin C. Pierce
- Introduction to Automata Theory, Languages, and Computation, Textbook by Jeffrey Ullman and John Hopcroft
- Essentials of Programming Languages Textbook by Daniel P. Friedman and Mitchell Wand
- The little series by Dan Friedman
- Modern Compiler Implementation in ML Textbook by Andrew Appel
- C Interfaces and Implementations: Techniques for Creating Reusable … Book by David Hanson
- A Retargetable C Compiler: Design and Implementation Book by Christopher W. Fraser and David Hanson
- Programming Language Pragmatics Book by Michael L. Scott
AI and Machine Learning
- Linear Algebra and Learning from Data Textbook by Gilbert Strang
- Pattern Recognition and Machine Learning Book by Christopher Bishop
- Probability Theory: The Logic of Science Book by Edwin Thompson Jaynes
- The Book of Why: The New Science of Cause and Effect Book by Dana Mackenzie and Judea Pearl
- Artificial Intelligence: A Modern Approach Textbook by Peter Norvig and Stuart J. Russell
- Paradigms of AI Programming: Case Studies in Common Lisp Book by Peter Norvig
Database
- 《PostgreSQL技术内幕:查询优化深度探索》(张树杰)
- Transaction Processing: Concepts and Techniques Book by Jim Gray
- Database Systems: The Complete Book Book by Héctor García-Molina, Jeffrey Ullman, and Jennifer Widom
Algorithm
- Concrete MathematicsTextbook by Donald Knuth, Oren Patashnik, and Ronald Graham
- Introduction to Algorithms CLRS
- Introduction to the Analysis of Algorithms by Robert Sedgewick and Phillipe Flajolet
- Analytic Combinatorics Book by Philippe Flajolet and Robert Sedgewick
- The Art of Computer Programming Book by Donald Knuth
Math
- Algebra Book by Michael Artin
System and System Programming
- Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture Book by Igor Zhirkov
- Computer Architecture: A Quantitative Approach Book by David A Patterson and John L. Hennessy
- Advanced Programming in the Unix Environment Book by W. Richard Stevens
Logic
- Programming Languages and Lambda Calculi by CS @ Utah
- Datalog and Logic Databases Book by Cristian Molinaro and Sergio Greco
- Mathematical Logic for Computer Science by Mordechai Ben-Ari
- Gödel, Escher, Bach: an Eternal Golden Braid Book by Douglas Hofstadter
Erlang
- Programming Erlang: Software for a Concurrent World Book by Joe Armstrong
- The BEAM Book A description of the Erlang Runtime System ERTS and the virtual Machine BEAM
- Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems Book by Francesco Cesarini and Steve Vinoski