First Published: May 27, 2017
Last Updated: October 11, 2019

There are some good books on programming. There are also many bad. Here are some of the former. I leave the pleasure of finding copies, on-line or elsewhere, as an excercise to the potential reader.

George Pólya. (1945). How to Solve it. Princeton University Press.

William Strunk Jr and E. B. White. (1959). The Elements of Style. Macmillan.

Robert M. Pirsig. (1974). Zen and the Art of Motorycle Maintenance. William Morrow and Company.

Leo Brodie. (1984). Thinking Forth. Creative Commons.

Brian W. Kernighan, Dennis M. Ritchie. (1978, 1988). The C Programming Language. Prentice Hall.

Jon Bentley. (2000). Programming Pearls. 2nd Edition. Addison. Wesley.

Jon Bentley. (1988). More Programming Pearls: Confessions of a Coder. 1st edition. Addison-Wesley.

Donald A. Norman. (1988). The Design of Everyday Things. Doubleday.

Peter van der Linden. (1994). Expert C Programming: Deep C Secrets. Prentice Hall.

John R. Levine. (2000). Linkers & Loaders. Morgan Kaufmann.

Frederick P. Brooks Jr. (1995). The Mythical Man-Month: Essays on Software Engineering. 2nd edition. Addison-Wesley.

Harald Abelson, Gerald Jay Sussman, Julie Sussman. (1996). Structure and Interpretation of Computer Programs. 2nd edition. MIT Press.

Bruce I. Blum. (1996). Beyond Programming: To a New Era of Design. Oxford University Press.

Dirk van Dalen. (1997). Logic and Structure. 3rd edition. Springer.

Brian W. Kernighan, Rob Pike. (1999). The Practice of Programming. 1st edition. Addison-Wesley.

Chris Okasaki. (1999). Purely Functional Data Structures. Cambridge University Press.

Andrew Hunt, David Thomas. (1999). The Pragmatic Programmer: From Journeyman to Master. 1st edition. Addison-Wesley.

Paul Graham. (2002). Revenge of the Nerds.

Henry S. Warren, Jr. (2013). Hacker’s Delight. 2nd edition. Addison-Wesley.

Jon Bentley. (2000). Programming Pearls. 2nd Edition. Addison-Wesley.

Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. (1983). Data Structures and Algorithms. Addison-Wesley.

Neal Stephenson. (1999). In the Beginning… was the Command Line. Perennial.