

Five Memorable Books About Programming - dpapathanasiou
http://prog21.dadgum.com/19.html

======
Locke
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. : ))

~~~
comatose_kid
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.

~~~
pchristensen
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.

------
prakash
Joel Spolsky's list:
<http://www.joelonsoftware.com/navLinks/fog0000000262.html>

------
slackerIII
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...](http://www.amazon.com/Managing-Gigabytes-Compressing-Multimedia-
Information/dp/1558605703)

------
wheels
\- _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.

------
simplegeek
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_

------
bayareaguy
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

------
phaedrus
The best book I ever read about programming was Writing Solid Code, by Steve
Macquire.

~~~
slackerIII
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.

------
konsl
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"

------
npk
_Expert C Programming_ by Peter van der Linden

~~~
comatose_kid
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.

