...but I forget who...
They were wondering what books I have on my bookshelf here in the office. So here they are, in order no less!
The Art of Computer Programming (Vol 1-3)
The C Programming Language
Algorithms in C++
Win32 Programming
The Windows User Interface Guidelines for Software Design
Programming Windows
Win32 Programming API Bible (so old that I can't even find it on Amazon, which isn't that big of a deal because I never crack that one open)
Applied Microsoft .NET Framework Programming
Network Programming Windows
UNIX Network Programming (vol 1)
Networking Linux
Network Security with OpenSSL
Programming Languages Concepts & Constructs
Revolutionary Guide to Assembly Language
PPC ABI (one book) from Motorola
x86 ABI (5 books) from Intel
Building Tablet PC Applications
And that's just the first shelf! I won't extoll everything from the second shelf (because it has a lot of books I rarely crack open, like Calculus books and the likes. So I'll just highlight (sans links) some of the more commonly referenced books.
Lex and Yacc
Encyclopedia of Graphics File Formats
Real-time Rendering in DirectX
Inside OpenGL Game Programming
Tricks of the Windows Game Progamming Gurus
Game Programming Gems
Genetic Progamming, An Introduction
Essentials of Artificial Intelligence
AI Game Programming Wisdom
High Performance Computing
Applied Operating Systems Concepts
19 Deadly Sins of Software Security
I use the first shelf more frequently than the second shelf. I'd say the most frequently used books are (in order):
- Win32 UI Guidelines
- UNIX Network Programming
- Algorithms in C++ tied with The Art of Computer Programming
- The assembly and ABI books
The second shelf isn't wholly ignored though. It's just that I typically use those books for side projects instead of work, so they tend to get used less frequently. I started a third shelf (in the closet) for books that I use very infrequently, such as graphics programming in Java and whatnot. So the collection is still growing (but with a lot less gusto than it used to; it's been a while since I've gotten a programming book).
The most recent addition to the shelf was the Tablet PC progamming one, which I've been reading so that I can try to understand how to do tablet PC APIs for someone. Unfortunately, the APIs are so powerful that it's almost impossible to do the simple stuff. Yeesh.
The oldest book on my shelf (that wasn't required reading for a class) is Programming Windows by Charles Petzold. It was an awesome book (still is, though I don't need to use it really anymore) to learn Win32 programming from. If I were to count required reading, then my oldest book would be the C Programming Language.
So there you have it, for those of you who were interested in this sort of thing. Any questions? :-)
What! No Dr. Phil books!? Dude...
The fiction books are all in a different bookcase out in the livingroom, sorry Will. ;-)
@Aaron: I can't remember when I last looked at Petzold either but I always install (at least) the .chm file on every new PC since '98. I think it's becoming a superstition now.
What about his tapes?! You can't make it through life without Dr. Phil's tapes!
Did you pick up The Pragmatic Programmer? It's also available at safari.oreilly.com , if you're into eBooks.
@Dean -- nope, I haven't picked that one up yet. It's on my list of things to check into however.