Tech Opinion - What programming books would you recommend?

Date: 2007nov30 Keywords: books Q. What programming books would you recommend? A. These aren't the only books I have read on these subjects -- just ones I recommend. I guess I'm a bit picky. Hopefully this list will help somebody avoid the less good books. Subject Book Algorithms Programming Pearls by Jon Bentley Algorithms The Art of Computer Programming by Donald E. Knuth I own all three volumes. The examples are written in the the MIX machine code which isn't implemented anywhere. But a good series none-the-less. Apple ][ Beneath Apple DOS by Don Worth and Pieter Lechner Of course, totally useless today but the first computer book I got into. C The C Programming Language (aka K&R) by Brian W. Kerniham and Dennis M Ritchie Well written and even later editions are still pretty thin. Which explains, in part, why the language is a success. C++ The C++ Programming Language by Bjarne Stroustrup This is the official book about the language so you kinda have to buy it but its not a great book. I am sure there are better introductions out there. COM Steal This Code by Al Williams A few years old, just like COM, but great for getting an understanding. Crypto Practical Cryptography by Niels Ferguson and Bruce Scheier Apparently everyone reads this book, thinks they know everything and implements imperfect crypto systems. So don't do that. Crypto Disappearing Cryptography by Peter Wayner Inspired my site CSS (Cascading Style Sheets) Designing with Web Standards by Jeffrey Zeldman Good blend of the practical and design. Design Programming on Purpose by P.J. Plauger Smart stuff. Graphics Graphics Gems by Andrew S. Glassner After the first one there was a series of at least 5 books. Some amazing tricks in these books! Perl Programming Perl (aka the Camel Book) by Larry Wall, Tom Christiansen, Jon Orwant The official book but good also. Recursion Sructure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman with Jule Sussman Man, those MIT people must be smart if this was a first year text book. OOPS Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides This book is a bit overrated. It formalizes what rational people were already doing. But it introduces now necessary vocabulary, like Singleton, that you need to know to be in the loop. Unix/Linux Applications Advanced UNIX Programming by Marc J. Rochkind Windows Programming the Windows 95 User Interface by Nancy Winnick Cluts This stuff still works in Windows Vista