Computer Books

What Makes a Good Computer Book?

It's definitely not bulk. The vast majority (exceeding even what one would suspect from Sturgeon's Law) of computer books sold today are junk. In a futile attempt to avoid intimidating computer novices they are padded with so many pages of "friendly" jabber[1] that they often end up over a thousand pages long. A cursory examination reveals that they contain very little useful text, and could be replaced easily and completely by a book one tenth their size!

Favorites

Some computer books that I've found especially enjoyable and interesting are, in no particular order:

Unix and C

  • The C Programming Language, Kernighan and Ritchie.

  • The UNIX Programming Environment, Kernighan and Pike.

  • Software Tools, Kernighan and Plauger.

  • Advanced Programming in the Unix Environment, Stevens.

Lisp and Functional Programming

  • The Structure and Interpretation of Computer Programs, by Abelson, Sussman, and Sussman.

  • The Little Lisper, Felleisen and Friedman.

  • Lisp in Small Pieces, Queinnec, Callaway (translator).

  • Essentials of Programming Languages, Friedman, Wand, and Haynes.

  • ANSI Common Lisp and On Lisp, Graham.[2]

  • Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS, Keene.

  • Dylan Programming: An Object-Oriented and Dynamic Language, Feinberg (Editor), Keene, Mathews, Withington.


[1] Not only is this jabber completely unnecessary, it usually is harmful, since it hides the useful information in excess verbage.

[2] On Lisp is out of print but available for download from Paul Graham's web site.