Slashdot Mirror


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.)"

19 of 517 comments (clear)

  1. TCP/IP Illustrated, Vol 1 by W. Richard Stevens. by whistl · · Score: 5, Informative

    The classic IP networking book

  2. Best books? by librarybob · · Score: 5, Insightful

    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.

    1. Re:Best books? by MightyMartian · · Score: 4, Interesting

      Introduction To Algorithms 2nd Edition was by far the most useful book I've ever delved into. Back in the olden days when I was stuck coding in a borrowed copy of QuickBASIC, I developed one helluva binary search routine that could search through about 50,000 records in tolerable time on an PC-XT, and that book saved my ass.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:Best books? by SlashDotDotDot · · Score: 4, Informative

      Effective C++, Scott Meyers -- I own the 2nd Edition, but there may be a newer one. This is the best book I've seen for really making sense out of C++. It is well-organized, covers its chosen topics thoroughly, and is fun to read.

      --
      /...
  3. K&R2 by dprovine · · Score: 5, Insightful

    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.

  4. Modern C++ Design by abigor · · Score: 4, Informative

    Possibly the most mind-expanding "C++" book ever written, and certainly the most poorly-named. It's all about template programming and will really change how you think about generic programming.

    There's also Schneier's "Applied Cryptography" and Norvig's "Paradigms of Artificial Intelligence Programming" and "Artificial Intelligence: A Modern Approach" to satisfy the urge one sometimes gets to skip syntax and write software directly as a parse tree.
     

    1. Re:Modern C++ Design by Slicebo · · Score: 5, Funny

      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.

  5. Effective Java by Josh Bloch by SpuriousLogic · · Score: 4, Informative

    I love this book. Many times I run into developers that program the exact same way they learned in school, without ever really knowing why they do things a certain way or question if something can be done better. Effective Java is basically the knowledge that a mid-level and higher developer should have learned codified into book form. The organization is great (broken into topics - you do not need to read from front to back), and has clear and easy to understand examples. It is a great book to move a junior Java developer up to a mid-level Java developer very quickly. It is now available in a second edition that is even better and with more content than the first edition. It is also a Jolt award winner.

  6. My very favorite by dzfoo · · Score: 5, Informative

    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
    ...Can you save Christmas?
  7. Best Project Management Book Ever by Reality+Master+101 · · Score: 5, Insightful

    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.
  8. Nonlinear Dynamics and Chaos by orzetto · · Score: 4, Informative

    Nonlinear Dynamics and Chaos by Strogatz. The one and only book about math that I ever read without ever being bored nor puzzled, and I actually learned something at the end of it.

    --
    Victims of 9/11: <3000. Traffic in the US: >30,000/y
  9. Dragon Book by hal2814 · · Score: 4, Insightful

    "Compilers: Principles, Techniques, and Tools" by Avo, Sethi, and Ullman.

    To be fair, I'd like to point out that the 2nd Edition just came out when I picked it up and that's what I'm basing my opinion on. I've never read the 1st Ed (though it has a much cooler cover).

    Honorable mentions:
    The C Programming Language
    Any of Tannenbaum's OS books (I'm kind of partial to the Design and Implementation one that uses Minix as a case study)
    Deitel & Deitel's Java book (To be fair, it is good but overpriced if you don't already have to buy it as a textbook.)

  10. The Art of Computer Programming by Donald Knuth by Christopher_Olah · · Score: 5, Insightful

    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.

  11. Design Patterns by MozeeToby · · Score: 5, Informative

    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.

    1. Re:Design Patterns by Rary · · Score: 5, Informative

      Agreed. And I would add: Refactoring by Fowler and friends.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  12. Re:My Math Books by poopdeville · · Score: 4, Interesting

    I agree completely. Aside from language reference books (a dime-a-dozen) and the web, I primarily use Mathematics texts books as my primary reference works. Lattice and Category theory are very helpful for understanding database design and algorithms -- an inner join on database tables is join of "sub-tables" in the Dedekind-MacLane completion of the lattice of "sub-tables", for example.

    Combinatorics are helpful when analyzing algorithms in general. Category theory and some first order logic (quantifying over categories) gives you a sound and rich theory of types (or you can develop an equivalent one in about a million different ways). Never mind the domain specific problems I've worked on, including statistical analyses of large amounts of data.

    For most computing domains, a CS degree is overrated. A Mathematics degree gets you 90% of the way there, and gives you so much more.

    --
    After all, I am strangely colored.
  13. Re:TCP/IP Illustrated, Vol 1 by W. Richard Stevens by geminidomino · · Score: 4, Informative

    Agreed.

    "Unix Network Programming" was a godsend.

  14. Yes, K&R2 is still the best. by L'homme+de+Fromage · · Score: 4, Informative

    Other CS books I like:

    • The Design and Analysis of Computer Algorithms, by Aho, Hopcroft & Ullman
    • Elements of the Theory of Computation, by Lewis & Papadimitriou
    • Computability, Complexity, and Languages, by Davis & Weyuker
    • Introduction to Automata Theory, Languages, and Computation, by Hopcroft & Ullman
    • The UNIX Programming Environment, by Kernighan & Pike
    • The AWK Programming Language, by Aho, Kernighan & Weinberger
    • Combinatorics for Computer Science, by Williamson

    For math, my favorites are:

    • Introduction to Geometry (2nd ed.), by Coxeter
    • Div, Grad, Curl, and All That, by Schey
    • A Course of Pure Mathematics, by Hardy
    • Introduction to Probability Theory, by Hoel, Port & Stone
    • Differential and Integral Calculus, Vols. 1&2, by Courant
    • A First Course in Numerical Analysis, by Ralston & Rabinowitz

    For physics, my favorites are:

    • Mechanics (3rd ed.), by Landau & Lifshitz
    • Mathematical Methods of Classical Mechanics, by Arnold
    • Spacetime Physics, by Taylor & Wheeler
    • Gravitation, by Misner, Thorne & Wheeler
    • Classical Electrodynamics (2nd ed.), by Jackson
    • Lectures on Quantum Mechanics, by Baym
  15. Re:How's about for Economics / Business / Marketin by geminidomino · · Score: 4, Funny

    Yes, because the only people who read Slashdot are CS/Eng geeks, and I wasn't trying to get some information about other popular areas of study.

    Geez. There's not even an FA to Read, but you skipped not only the summary but the HEADLINE?!

    Where in "Tech / Eng. / CS" would you put "advertising wankery and asskissing?"

    Oh also, your use of the word "marketdroids" shows me that you could really benefit from reading some of these sorts of books.

    Fortunately, I don't have to. I actually possess a skill.