Books to Read About Computer Programming

Posted on March 28, 2016 by psu

Eleven books to read if you want to be a computer programmer.

  1. The Structure and Interpretation of Computer Programs - Abelson and Sussman

  2. Programming Pearls - Bentley

  3. The Mythical Man Month - Fred Brooks

  4. The Dragon Book - Aho, Ullman, Lam, Sethi

  5. The Soul of a New Machine - Tracy Kidder

  6. Algorithms - Cormen/Leiserson/Rivest/Stein

  7. Transaction Processing - Gray

  8. Computers and Intractability - Garey and Johnson

  9. Computer Architecture: A Quantitative Approach - Hennessy and Patterson

  10. The Art of Computer Systems Performance Analysis - Jain

  11. Types and Programming Languages - Pierce

Notes

  • I have not actually ever read the last one, but it seems like a decent candidate for the one book you need to read about type theory.

  • Yeah, most of these books are old. New books haven’t had time to get good yet.

  • Don’t come after me and tell me that I need to have some OO bullshit on this list. If you can’t figure out that stuff from the material above, then I’m not talking to you anyway. If you really must have something, throw the BYTE Smalltalk issue on to the pile. It’s better than most of the crap published after it.

  • The best books are the ones that combine theory and practice in an interesting way. Thus my list.

  • Any book about a specific programming language is disqualified for not having the right set of priorities.

  • Honorable mentions: Any old book about the Apple II. The Peyton-Jones monographs about functional programming. The Annotated Turing. Some book about Art, or Music, or Writing. Your choice. Exploratory Data Analysis, by Tukey (this is hard and expensive to get now).

  • That’s all I got.