Your Favorite Tech / Eng. / CS Books?
chris_eineke writes "I like to read and to collect good books related to computer science. I'm talking about stuff like the classic textbooks (Introduction to Algorithms 2nd ed., Tanenbaum's Operating Systems series) and practitioners' books (The Practice of Programming, Code Complete) and all-around excellent books (Structure and Interpretation of Computer Programs, Practical Common Lisp). What's your stocking-stuffer book this Christmas? What books have been sitting on your shelves that you think are the best ones of their kind? Which ones do you think are -1 Overrated? (All links are referral-free.)"
The classic IP networking book
As I'm a librarian I'm extremely interested in what people will suggest. The opinion of practitioners is a lot more relevent than that of book reviewers.
Still the standard for programming language books, IMHO. I tell people to work all the way through it, from start to finish, and do every exercise until it works exactly as it should.
C isn't a perfect programming language, by any means -- no language is -- but writing lots of programs in it gives you a feel for the low-level things a computer has to do.
My very favorite technical book is Programming Perl, a.k.a. The Camel Book, by Larry Wall et al. It is indeed a rare gem to find a book with such complex technical concepts, that is so much fun to read, you can take it with you on the train commute, or on holiday, and read it from cover to cover.
-dZ.
Carol vs. Ghost
Mythical Man Month. A classic. There are no silver bullets! As true now as then.
Sometimes it's best to just let stupid people be stupid.
It's good. I'm going to have to disagree with you on it being overrated. It's dense and long but it has lots of good things. I've learned a lot, despite only having started reading it recently.
http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1230057946&sr=8-1/
If you're doing oject oriented, there's no better place to start looking when you you're trying to learn good software design. I know, some people say patterns are overused, but they are essential to understanding and designing complex software.
Minor correction to your post: It actually refers to parsing the leaf level (the lower ridge) of a B (binary) tree.
Or (to put it more concisely):
A parse-ridge in a pair tree.