Programming from the Ground Up
These books are the best books that cover their topic. They are thorough and authoritative. To get a broad base of knowledge, you should read several outside of the areas you normally program in.
-
Practical Programming - Programming Pearls and More Programming Pearls by Jon Louis Bentley
-
Databases - Understanding Relational Databases by Fabian Pascal
-
Project Management - The Mythical Man-Month by Fred P. Brooks
-
UNIX Programming - The Art of UNIX Programming by Eric S. Raymond, available online at http://www.catb.org/~esr/writings/taoup/
-
UNIX Programming - Advanced Programming in the UNIX Environment by W. Richard Stevens
-
Network Programming - UNIX Network Programming (2 volumes) by W. Richard Stevens
-
Generic Programming - Modern C++ Design by Andrei Alexandrescu
-
Compilers - The Art of Compiler Design: Theory and Practice by Thomas Pittman and James Peters
-
Compilers - Advanced Compiler Design and Implementation by Steven Muchnick
-
Development Process - Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts
-
Typesetting - Computers and Typesetting (5 volumes) by Donald Knuth
-
Cryptography - Applied Cryptography by Bruce Schneier
-
Linux - Professional Linux Programming by Neil Matthew, Richard Stones, and 14 other people
-
Linux Kernel - Linux Device Drivers by Alessandro Rubini and Jonathan Corbet
-
Open Source Programming - The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary by Eric S. Raymond
-
Computer Architecture - Computer Architecture: A Quantitative Approach by David Patterson and John Hennessy
Категории