Valuable Technical Books

Introduction

Below is a list of books, on technical subjects. Mostly computer science or software engineering, but also some math books. I've tried to stick to books that I've read and feel comfortable recommending, but I've also included books for which the recommendations I've heard from others are overwhelmingly positive. The list of books includes some text books I had in college, and some I wish I had; to some extent I regard this list as helping me complete my education. It also covers subjects that I wish were taught in college, but generally are not.

Bias in Evaluating Books

I can not hope to fully explain my biases, but I can still list a few, to prepare you. I actually recieved my B.S. in Mathematics, and I am left with an affection for theory. I am also comfortable with more theoretical books that present theorems, proofs, and use strange symbols to convey their meaning. I favor Unix as an operating system and development environment. I like Lisp, and really think it's a valuable learning tool.

Another thing to consider in looking at this list is that I don't read many of these books cover-to-cover. Doing that with technical books is hard, at least for me. Instead, I tend to browse through them the way a cow grazes in a pasture - and indeed I approach completion of each book over time. However, it does mean that even books I recommend strongly, I may not completely know. There may be something so heinous in some section I haven't read, that reading it would change my recommendation forever. But it's a free list.

To some extent, I've tried to avoid books that are simply good for learning a particular programming language. Yes, there are books on Scheme, Common LISP, C, and C++ in the list below, but that has more to do with what they convey while discussing a particular language. Books that I feel go deeper, and teach me something important through the language, are the exception to the rule.

Organization

I've tried to organize the list, but I'm not certain what the best form of organization is, for a list such as this. Because free books area easier to acquire, one section is devoted entirely to them. Because I can't recommend books I haven't even cracked open as strongly as books I have, books that I plan on reading – or that others have instructed me to read – get their own section.

The List