Hmmm... my own list of memorable programming books would look like (in no specific order):
1. The Mythical Man Month, Brooks
2. Peopleware, DeMarco and Lister
3. Paradigms of Artificial Intelligence Programming, Norvig
4. The C Programming Language, Kernighan and Ritchie
5. The Ruby Way, Fulton
I had a hard time deciding whether or not to include the Pragmatic Programmer, in the end I decided to go with The Ruby Way because it was an unusually enjoyable read for a language book.
I know the original list was supposed to be more esoteric books, not classics, but I'm anticipating this becoming a thread of everyone's favorites. : ))
I'm just beginning PAIP - I finally broke down and bought it when borders emailed me a 40% off coupon. CS books aren't supposed to be readable, but so far this one seems to break that rule.
I think PAIP is underrated (or maybe just unknown) because a) AIMA replaced it as the go-to AI text, b) there's no free online version (unlike SICP, PCL, OnLisp, etc), c) it's expensive. But it's probably my favorite of all the Lisp books I'm looking at now.
I always have to plug Managing Gigabytes whenever a discussion of computer books comes up. Great reference for anyone dealing with searching or compressing large amounts of information:
- Introduction to Algorithms (MIT Press). This is the only one of my computer science textbooks that I consistently refer back to. It's elegant and timeless and covers a lot of ground.
- Design Patterns. Dry, boring, useful. You can skim it and get most of the ideas. The best part about it is building up a vocabulary for discussing common patterns with other software engineers.
- Programming Perl. Ah, the camel book. It's possibly the only written-by-the-language-designer reference that's fun to read. Regardless of what your favorite scripting language is, you have to love Larry Wall.
- The Mythical Man Month. Another classic. Easy to read. Stuff people should know, but don't.
- The Design of Everyday Things. Not really a programming book strictly, but a nice introduction to the principles of usability. If you can get over the slight smugness, it can shake up the way you think a bit.
1. Programming Pearls & More Programming Pearls, Jon Bentley.
2. SICP and The Litle Schemer.
3. K&R
4. Find the Bug by Adam Barr (I read it after reading a Guy Steele recommendation for this one and it's awesome. Author is a cool hacker, writer and a PM at Microsoft (his other book Serving my corporate Masters was available online. Not sure about now):-)
I would think Design Patterns: Elements of Reusable Object-Oriented Software by the gang of four is the most famous -- I can't say I've read any books on programming that I felt were "memorable"
Yeah, that's a good one. Well written, and a great book to read after you've read K&R and have been programming C for a while. It gets into the corner cases, and has a nice explanation for why certain declarations cause errors, etc.
Hmmm... my own list of memorable programming books would look like (in no specific order):
I had a hard time deciding whether or not to include the Pragmatic Programmer, in the end I decided to go with The Ruby Way because it was an unusually enjoyable read for a language book.
I know the original list was supposed to be more esoteric books, not classics, but I'm anticipating this becoming a thread of everyone's favorites. : ))
Have to put in a strong seconding of Peopleware and MMM. Certainly two must reads.
I'm just beginning PAIP - I finally broke down and bought it when borders emailed me a 40% off coupon. CS books aren't supposed to be readable, but so far this one seems to break that rule.
I think PAIP is underrated (or maybe just unknown) because a) AIMA replaced it as the go-to AI text, b) there's no free online version (unlike SICP, PCL, OnLisp, etc), c) it's expensive. But it's probably my favorite of all the Lisp books I'm looking at now.
Joel Spolsky's list: http://www.joelonsoftware.com/navLinks/fog0000000262.html
I always have to plug Managing Gigabytes whenever a discussion of computer books comes up. Great reference for anyone dealing with searching or compressing large amounts of information:
http://www.amazon.com/Managing-Gigabytes-Compressing-Multime...
- Introduction to Algorithms (MIT Press). This is the only one of my computer science textbooks that I consistently refer back to. It's elegant and timeless and covers a lot of ground.
- Design Patterns. Dry, boring, useful. You can skim it and get most of the ideas. The best part about it is building up a vocabulary for discussing common patterns with other software engineers.
- Programming Perl. Ah, the camel book. It's possibly the only written-by-the-language-designer reference that's fun to read. Regardless of what your favorite scripting language is, you have to love Larry Wall.
- The Mythical Man Month. Another classic. Easy to read. Stuff people should know, but don't.
- The Design of Everyday Things. Not really a programming book strictly, but a nice introduction to the principles of usability. If you can get over the slight smugness, it can shake up the way you think a bit.
1. Programming Pearls & More Programming Pearls, Jon Bentley.
2. SICP and The Litle Schemer.
3. K&R
4. Find the Bug by Adam Barr (I read it after reading a Guy Steele recommendation for this one and it's awesome. Author is a cool hacker, writer and a PM at Microsoft (his other book Serving my corporate Masters was available online. Not sure about now):-)
5. Hackers Delight
The best book I ever read about programming was Writing Solid Code, by Steve Macquire.
That was a great one. His malloc wrapper was a life saver, and getting into the habit of adding lots of assertions was really helpful for me.
I would think Design Patterns: Elements of Reusable Object-Oriented Software by the gang of four is the most famous -- I can't say I've read any books on programming that I felt were "memorable"
Here are 5 of my favorites nobody has mentioned here yet:
- The Art of Computer Programming, Knuth
- The Algorithm Design Manual, Skiena
- The Practice of Programming, Kernighan and Pike
- ACM Turing Award Lectures
- Applied Cryptography, Schneier
Expert C Programming by Peter van der Linden
Yeah, that's a good one. Well written, and a great book to read after you've read K&R and have been programming C for a while. It gets into the corner cases, and has a nice explanation for why certain declarations cause errors, etc.