The holidays are coming up and that means more time for reading. Some folks prefer romance novels, some a good old detective story. Others prefer an exciting spy thriller. As for myself, once I am done with the manuals that came with the gadgets my kids got, I tend to curl up with a good computer science text. Sometimes I will settle for a language reference for a new programming language that I have never (and probably will never use) used, but my idea of literary nirvana is a book on algorithms, or higher order programming.
Code Complete - I only have the first edition, but its pretty cool, especially the part on how to organise your functions and comments.
Modern C++ - I was blown away by this book - I never did much templates, don’t know what they are good for and the techniques used in the book are an eye-opener for me. Basically, it explains how to implement generic programming patterns, such as policies, singletons, commands and etc. using C++ templates.
Game Coding Complete - Not strictly a computer science book, but the author did gives a good overview of games programming, along with some interesting anecdotes on games programming, such as this gem: A game, upon exiting, will always given an complier-based error message. The programmers try many ways to solve the errors, but could not. So with the deadline looming, they try one desperate measure - they hack the program and change the error message to “Thank you for playing the game!”. Also covers smart pointers, 3d programming basics, source control and project management.
I’m currently reading “Types and Programming Languages”. I took a class in functional programming this semester and became obsessed with it, so I wanted to learn more about programming language theory.
The standard algorithm book is “Introduction to algorithms” by Cormen et al. although it’s very theoretical and not very practical.
Of course, then there’s cult CS books, like Braitenburg’s Vehicles and Godel, Escher and Bach.