Slashdot Mirror


Computer Books For A Library?

Basalisk asks: "I've been asked to come up with a list of suggestions for books covering computer subjects that would be appropriate for a public library. Ideally, the books suggested would have a fairly long shelf life and cater to as many different audiences as possible, from the absolute beginner to an experienced geek. What books dealing with computer subjects should a library have on it's shelves?" Considering that library books need to have lasting and generalized value, not just programming fads of the month, what books would you recommend for a desert-island library collection? What books won't you give up on your tech-library?

167 of 509 comments (clear)

  1. Re:Good god, since when does Computers = Systems?? by mosch · · Score: 2
    Most of my career has been spent as the engineering liaison to operations, supporting embedded products, thus the systems category is one which I know well enough to make suggestions. If I made recommendations for books in other fields, I'd be doing a disservice to anybody who read my post, as I wouldn't know the difference, for example, between a good user interface book and a great one.

    Perhaps you are knowledgeable enough in one of the aforementioned fields that you can give knowledgeable recommendations, beyond 'my professor said this one is really good'?

    --

  2. Re:Kernighan and Ritchies's C Programming Language by mosch · · Score: 5
    My short list, in no particular order:
    • The Art of Computer Programming -- Knuth
    • Advanced Programming in the UNIX Environment -- Stevens
    • C/C++/Java How To Program -- Deital & Deital stupid titles, good beginning books
    • The Practical SQL Handbook -- Bowman
    • Joe Celko's SQL for Smarties
    • Essential System Administration -- Frisch
    • TCP/IP Network Administration -- Hunt
    • Modern Operating Systems --- Tanenbaum
    • The Mythical Man Month -- Brooks
    • The C++ Programming Language -- Stroustroup
    • Generic Programming and the STL... -- Austern
    • Computer Networks -- Tanenbaum
    • Upgrading and Repairing PCs -- Mueller
    • Applied Cryptography -- Schneir
    • C Programming Language -- K&R
    • Internetworking with TCP/IP 1, 2 & 3 -- Comer
    • Unix Network Programming 1&2-- Stevens
    Nothing else comes to mind offhand...

    --
  3. Not technical, but still good by SuperQ · · Score: 2
    I'm a fan of computer history and there's nothing wrong with fiction. Here's some other stuff to throw into the mix.

    • Hackers: Heroes of the Computer Revolution
      by Steven Levy
    • Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage
      by Cliff Stoll
    • Microserfs
      by Douglas Coupland
  4. Re:Kernighan and Ritchies's C Programming Language by David+Greene · · Score: 2
    Algorithms in C -- Sedgewick

    Please tell me you're joking. This is probably one of the worst books on the subject I have ever read. The algorithm descriptions themselves aren't bad, but the code examples are horrendous. There are countless examples of bad coding style, not the least of which is the use of the letter "ell" as a variable name. Sure, it's compact, but it makes understanding the code very difficult. Often it's tough to tell whether a variable or numeric constant is being used.

    Rivest, et. al. have a much better algorithms book. The writing style is clearer and it covers more material. The section on complexity alone makes the book far superior to Sedgewick.

    --

    --

  5. Python by rafa · · Score: 2
    Learning Python
    programming Python
    , both featuring Mark Lutz, and published by O'Reilly.

    Learning python is a very good book to introduce someone to python programming, and programming in general. Python as a language is easy to get to grips with, and free.

    Programming Python is a good reference work to go along with python's online documentation and is a great book to have. Both are well written and easy to read.

    --
    [Science] is one of the very few things that raises human life a little above farce and gives it the grace of tragedy.
  6. Design Patterns by servo8 · · Score: 5

    Addison-Wesley's "Design Patterns" tends to be language-agnostic and focuses on actual object designs which have survived the test of time. Very useful for anyone involved in OO work.

    1. Re:Design Patterns by Uller-RM · · Score: 2

      If you get Design Patterns, get also "Pattern Hatching" by Vlissides (one of the Gang of Four who wrote the original). It's a much thinner tome, and concerns application of patterns - in the first example, it shows how a number of patterns are found in building a filesystem model with symlinks and other basic info.

      Not absolutely neccessary reading, but very useful.

      (BTW, I concur with whoever posted to get the first edition with examples in Smalltalk alongside C++. Smalltalk owns, one of the coolest languages I ever learned in college.)

  7. Fred Brooks by The+Man · · Score: 2

    While not strictly a computer book, The Mythical Man Month is essential reading for anyone interested in software or engineering in general. No library is complete without it.

  8. Re:Knuth by nathanh · · Score: 2
    How very predictable that everyone in here would suggest Knuth. The sad thing about that is that noone has ever read the whole tome. Most of us (no, I haven't either) didn't even make it past the first 100 pages. Partly because it's very dense and difficult, but also partly because it's written in a incredibly dull and uninteresting way.

    I have read the whole tome, 2nd edition. I did make it past the first 100 pages. But I also 100% agree with you that it is hard to read, heavy on the maths, and the style of writing is definitely dull.

    Knuth can write well (TeXBook proves that) but TAOCP isn't an easy read. I certainly wouldn't recommend it for a public library. It is far more appropriate for a specialised library (eg, the university library).

    But it's a great way to show people how smart you are, which, I presume, is all you wanted to do.

    Amen. /. is full of posers. And I'm no role model because I've just been a poser too by admitting to having read all of TAOCP. It's an easy trap to fall into.

  9. Amazon response by Nate+Fox · · Score: 3

    Absolutely Life-Changing..., December 27, 2000
    Reviewer: Paul Sorano (see more about me) from Ft. Lauderdale, FL
    OH MY! I am so glad I purchased this guide. I went from hardly knowing how to turn my computer on to making $1000's of dollars in weeks, just by simply running a website on the internet. Thanks so much for introducing this easy to follow guide. Nothing could have been easier! You have truly outdone yourselves!!


    I'm a bit skeptical: this comment was written during the dot.com boom. ;)

    -----
    If Bill Gates had a nickel for every time Windows crashed...

  10. dr dobbs back catalogue by Foaf · · Score: 3

    How about all the back issues and a subscription to Dr Dobbs? There have been hundreds of articles by notable programmers over the years, not to mention Jon Bentleys columns that eventually became the two editions of Programming Pearls

  11. Refactoring by djKing · · Score: 4

    Refactoring: Improving the Design of Existing Code
    By Martin Fowler.

    What I love about this book, is that it starts with bad code and transforms it into good code. The book defines what is and is not good code, with clear examples. As many new developers start out maintaining bad code, this is a must for new OO developers.

    In the Java course I teach I recomend the Refactoring book followed by the Design Pattern book.

    -Peace
    Dave

    --
    Free as in "the Truth shall set you..."
  12. Simple... by sheldon · · Score: 2

    Debugging the Development Process, Code Complete, Rapid Development and a variety of other books from Microsoft Press.

    The Mythical Man Month is another good book.

  13. ephemeral and lasting by danny · · Score: 2
    Of the computing books I've reviewed, some are now totally useless, while others will probably still be valuable in another century.

    Danny.

    --
    I have written over 900 book reviews
  14. Re:Knuth by dsfox · · Score: 2

    I must admit that Corman/Leisterson/Rivast is a much more useful Algorithms book to me.

  15. In the imaging sector: by MouseR · · Score: 2
    You couldn't be called a library if you didn't have books on PostScript:
    1. PostScript Language Program Design

    2. PostScript Language Reference manual
      PostScript Language Tutorial and Cookbook
    These are the so-called Green, Red and Blue books. In a tutorial fashio, a highly- recommended PostScript book is:
    1. Real World postScript
    All of the abovefrom Addison-Wesley.
    A somewhat antiquated 2/3D graphics programming book is called
    1. Computer Graphics Software Construction
    (ISBN 0-13-162793-7) published by Prentice Hall. it is not very current, but is a respectable work that will get you aquainted with graphics primitives, all the way up to basic 3D surface spline calculations.
    And if you're interested is learning how Holywood does it,
    1. The Renderman Companion

    describes this fantastic retained rendering language. This one, too, published by Addison-Wesley.

    Karma karma karma karma karmeleon: it comes and goes, it comes and goes.
  16. Re:Kernighan and Ritchies's C Programming Language by cpt+kangarooski · · Score: 2

    Nice to see a mention of the "Macintosh Human Interface Guidelines."

    I'd add Tufte's "The Visual Display of Quantitative Information," "Envisioning Information," and "Visual Explanations." Also Laurel's "The Art of Human-Computer Interface Design," Tognazzini's "Tog on Interface" and "Tog on Software Design" and Raskin's "The Humane Interface."

    Programming is great - but these are books you'll want if you want people to want to use your program, and to enjoy doing so. Most of the world's not propeller heads, and even said heads can see their lives improve with good UI. (do you still punch cards and program with switches?)

    I'd also add Flack and Wiese's "The Story About Ping" for a nice high-level explanation of ping(8).

    --
    -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
  17. C++ Picks by ChaosDiscord · · Score: 3

    C++ may not be "timeless," but it's here now, and will be here for many years. Besides, improving yourself in one language helps reveal patterns and designs in other languages. C++ will be influencing language design for a long time.

    So, here are a few C++ oriented books that I'm very fond of. All of them helped me improve as a programmer, not just in C++.

    If you're working in C++, you probably want The Design and Evolution of C++ by Bjarne Stroustrup. If you're a C programmer considering C++, you need this book. It really helps get your mind wrapped around the language. C++ may be a mess, but at least you'll understand why it's a mess, and why it really couldn't have succeeded any other way. By understanding why C++ is C++ (and not, say, Java or C#), you'll write faster, cleaner C++. Even if you don't see C++ as the future, armed with the knowledge in this book you can better judge other languages.

    For useful ways to improve your coding right away, I'm fond of Steve Maguire's Writing Solid Code and Scott Meyer's pair Effective C++ and More Effective C++ . Both will give you little improvements that will improve your code tomorrow, next year, and in five years. Parts of all of these books apply to any language. (My copy of Effective C++ is going on 10 years old, and I still find it helpful to reread occasionally.)

  18. It may seem that it doesn't apply... by rho · · Score: 2

    But A Pattern Language is a good book for thinking in terms of "greater than the sum of the parts". It talks in terms of architecture, but it can apply in multiple fields. It's a tough one to slog through, and definitely not the first book for a programmer-in-training, but good to round off the top of that sharp CS peak you might get from a daily dose of Knuth.

    Another, very very important book to add (and all geeks and nerds should buy and read) is Strunk & White's Elements of Style. Imperitive to learning how to write clearly and concisely, which is terribly important when it comes time to document.

    --
    Potato chips are a by-yourself food.
  19. Re:Kernighan and Ritchies's C Programming Language by mandolin · · Score: 2
    It's a slim, expensive tome, but absolutely indispensable

    Seconded. I picked up a copy at my local B&N and had to specifically ask for it. Shocked that a volume as important as this wasn't out on the shelves, it was explained to me that this particular book had a habit of growing legs and running off. I hope the library in question has a good theft-prevention system.

  20. My must-have by jimhill · · Score: 2

    Can't believe I haven't seen this guy's name yet in this thread...

    W. Richard Stevens, "Advanced Programming in the UNIX Environment".

    --
    Learn to spell: nickel, missile, lose, solely, amendment, speech, kernel, probably, ridiculous, deity, hierarchy, versus
  21. Re:Undergrad textbooks: Algorithms, H&P, Dragon, e by JanneM · · Score: 2

    I agree with the above, and would suggest the following to supplement these:

    Tanenbaum, "Structured Computer Organisation" - a very well written, accessible volume explaining how computers are actually organized.

    Rich, Knight, "Artificial Intelligence" - a good introductory text to this field.

    Glassner, et. al., "Graphics Gems" - a series of volumes that (if you can afford them) collects everything you need graphics-wise in an encyclopedic, rather than narrative, format.

    Boolos, Jeffrey, "Computabgility and Logic" - Another introductory text that is great reading for anybody interested in the field of computability (and you even get to prove Gödel's theorem!).

    There are others that are true classics (the Cinderella book comes to mind) but as you are asking for titles for a general-interst library they might be a bit too obscure.

    /Janne

    --
    Trust the Computer. The Computer is your friend.
  22. you kids dont know how good you have it by fishbowl · · Score: 2

    Why, in my day, the public library had three books on computers: A spanish language introduction to programming on System 370 assembly language, a book devoted to prettyprinting PL/I programs, and a Fortran book
    (from which I gained much knowledge.) That was
    1977. A few years later, they had a shelf of similarly obsolete texts, but never anything really enlightening. I'm referring to the central
    library in Dallas, Texas, a library designed by Frank Lloyd Wright that probably housed several million books.

    Today, I would still not expect to find the whole Addison-Wesely catalog or even a single O'Reilly
    book in any library east of California. (IN California, I expect to see these books at the convenience store, or rather, have seen, in Mountain View at least!)

    I wonder how many W. Richard Stevens texts are available at your average public library? How about the Sun Java series, or even the Solaris System Administrators Guides? Knuth? Booch?
    Jacobsen? Rumbaugh?

    Hard computer science books, starting with Cormen Leiserson and Rivest: Introduction to Algorithms,
    and Knuth: The Art of Computer Programming.

    O'Reilly books seem to find themselves neither on library shelves nor as primary texts for university classes. I wonder if it is because of the marketing niche that ORA has carved out as more of an independent publisher. At least, recent years have seen the availability of these types of books at chain bookstores.

    If I could have put my hands on Introduction to Algorithms and on various Automata texts when I was at my peak of mathematical aptitude, I would be much further along academically than I am now.

    --
    -fb Everything not expressly forbidden is now mandatory.
  23. Re:Based on what my local library has... by fishbowl · · Score: 2

    >Want any MS Dos 3.0 programming books?

    Actually... well... no, but I had to
    pause to think about it... I still refer, not infrequently, to the Programmer's Guide to the IBM
    PC, by Peter Norton.
    Every time I'm tempted to move it from my bookshelf to storage, I end up referring to it,
    so it stays.

    I keep an old 2-volume Solaris book around, knowing that Sparc's DON'T COME WITH MANUALS,
    and the manuals you do get aren't particularly useful.

    I'd love to have a copy of David Ahl's 101 Basic Computer Games, but even I tossed things that old.

    Strategy guides to some of the old games? Sure,
    (not to mention the abandonware issue!)

    I suppose the list goes on. Let's see, I can donate my extra copy of Stevens Unix Network Programming I, a whole shelf of Java 1.x books,
    "The Teachings of Buddha" which was in a hotel room instead of Gideon's Bible(!), the novelisation of Girl, Interrupted, an english-spanish dictionary with no cover, and *maybe* my extra Programming Perl-2nd-ed.

    That's about all I can part with, and I just might
    hoof them down to my local library.

    I'm finding that in my community, in these economic good times, the used bookstore has taken the role traditionally filled by the library.
    I realize that doesn't really bring literacy to the poor, but it is a phenomenon that I've observed. Books change hands from peer to peer and through such a vehicle as a used book seller, and these are the very people who would, in other circumstances, be a frequent library patron.

    I don't mean to diminish the other services that are provided by libraries of course. I just tallied up the CS books I still want to buy this year, and I'm over $1000. Not counting what adding a shelf will cost!! A library might let
    me try-before-I-buy or even read-instead-of-buy.
    The costs of these books doesn't bother me at all
    though, and I wish this could somehow be a datapoint in the whole copyright/artist-gets-paid misunderstanding.

    thank you for your pixels

    --
    -fb Everything not expressly forbidden is now mandatory.
  24. Re:Kernighan and Ritchies's C Programming Language by fishbowl · · Score: 2

    >Advanced C: Tips and Techniques

    I had a college class with this as the textbook, and an instructor who was programming industrial robotics (day job) while teaching our class. Outstanding book!
    I still go here first, if presented with questions about operator precedence or multidimensional pointer arithmetic, it's always on the shelf right next to K&R, and makes a good complement to it.

    I also heartily recommend Bruce Eckel's Thinking in C++.

    In the C++ textbook department, a local University teaches an intro programming course with Gary Bronson, _A First Book of C++: From Here to There_ 0-314-04236-9; If I were teaching
    such a class, I'd enjoy using this text, although
    it does speak from a procedural design standpoint in the early chapters.

    --
    -fb Everything not expressly forbidden is now mandatory.
  25. Another 2 cents by hatless · · Score: 2
    For the timeless, good reading shelf:
    • Steve McConnell's Code Complete and Rapid Development
    • Stephen Levy's Hackers
    • Cliff Stoll's Silicon Snake Oil
    • Douglas Coupland's Microserfs
    • The Cathedral and the Bazaar

    For the practical, replace-every-3-years, people-will-find-them-useful shelf:
    • The Dummies books on the most basic stuff everyone uses: MS Word, MS Excel, Excel macros, and the current versions of Windows. The series as a whole is very spotty, but these are solid, helpful guides.
    • Judith Bowman's Practical SQL Handbook. A solid, easy-to-follow tutorial in the basics of SQL that won't go stale. The same can't be said for the bundled CD of an old Sybase personal server.
    • Unix System Administration Handbook, 3rd Edition, by Hein, Nemeth, Seebass et al., a great warhorse that always opens to something useful. Possibly the only pure "Unix" book better than its O'Reilly counterpart. So well done that the last edition, some 10 years old now, is still useful, a real rarity in reference titles. I'd give this one a good 5-7 years of use.
    • O'Reilly's Learning Perl. As an intro tutorial, and a very good one, it should remain useful longer than a reference title.
    • An HTML tutorial and O'Reilly's XHTML and Javascript books. Maybe. They'll be more obsolete than a PDP-8 book in a few years, but they'll get used now.
    • A book on DIY PC repair. In paperback. With lots of pictures and step-by-step instructions. It will be laughable in a decade, but I think library patrons would find it useful.
    • A tutorial on Visual Basic.

    In general, I'd skip all but the most elegant half dozen or so books on programming languages because of the shelf-life issue. Think Kernighan and Ritchie on C and maybe things like Bruce Eckel's Thinking in Java, which is as timelessly abstract a Java book as I've seen. But Java will be unrecognizable in 5 years, so tread lightly here.


    Get nothing on web development other than an HTML book or two. Those are useless after one year, never mind five.

  26. Recommendations too specialised by Goonie · · Score: 2
    The recommendations here, while excellent books in the main, are virtually all books for programmers.

    Some books for system administrators would be a very good idea (I'd imagine there's some O'Reilly guides which would be a good place to start), a user's guide to Linux or two would be appropriate, and a smattering of books on Windows, MacOS, and popular applications for each would be appropriate.

    In addition, some "perspective" books would be appreciated by library users. A couple of suggestions to start with - The New Hacker's Dictionary (the print version of the Jargon File), In The Beginning Was The Command Line by Neal Stephenson, and The Emperor's New Mind by Roger Penrose (not that I agree with a lot of what he says, but it's still a great read). Others?

    Go you big red fire engine!

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
    1. Re:Recommendations too specialised by figment · · Score: 2
      Yes. Yes. Yes.

      Why hasn't anybody mentioned any good photoshop books? i sure as hell wish i knew photoshop in highschool, i may not have owned it, but my computer lab had it. In my experience, having photoshop experience is way way way more pratical on a widescale than say, what you learn from the dragon book. Books on popular programs, like Photoshop don't only appeal to the geeks, but also the artsy people, and even just random people who say, have to design a small advertisement at work or something.

      I'm sure every book that every person has suggested is a good book. I own a lot of them as well. I do not think my public library necessarily should though, in the grand scheme of things how many people really care about compiler design?

      It's not like these books are entirely inaccessible, that's what your local state college/university's library is for, because they already have these things. Imho the goal of a public library should be to cater to mass appeal, and not very many of these suggested books do this. Mass appeal is introductory and intermediate books on HTML and javascript, not on compiler design and BGPv4.

  27. Redo of above list with more on Sys Admin by dfelznic · · Score: 2
    Here is my editing of the above list with a little more focus on sys admin. I like some of the hacking exposed books for computer security(or northrup's intrusion detection). But they seem a little to placed in time. Any ideas on a good timeless security book? UNIX System Administration Handbook

    Essential System Administration

    Computer Networks

    Interconnections, Second Edition

    TCP/IP Illustrated, Volume 1: The Protocols

    Structure and Interpretation of Computer Programs

    The Mythical-Man Month

    Modern Operating Systems

    The Art of Computer Programming, All 3 Volumes

    Programming Perl (3rd Edition)

    Applied Cryptography

  28. Recommended Books by Lando · · Score: 2

    I have a rather extensive library. Of the books in my library, these are the ones that a) have lasting value as I have been using these books for years and/or b)are excellent learning and training manuals.

    Most of them are practical experience books, ie no "pure" research books.

    Addison-Wesley
    "The Practice of Programming" Kernighan Pike
    "The C programming language" Kernighan Pike
    "Writing MS-DOS Device Drivers" Lai
    "Compilers Principles, Techniques, and Tools" Aho Sethi Ullman
    "Algorithms in C" Sedgewick
    "Multithreading Applications in Win32" Beveridge Wiener

    Coriolis Group Books
    "Graphics Programming Black Book" Abrash

    Morgan Kaufmann Publishers
    "Joe Celko's SQL for Smarties: Advanced SQL Programming" Celko
    SQL Puzzles by Celko as well, can't find my copy

    Prentice Hall
    "Internetworking with TCP/IP Volumes 1-3" Comer Stevens
    "C How to Program" Deitel/Deitel

    Microsoft Press
    "Writing Solid Code" Maguire
    "Code Complete" McConnell

    Wiley
    "Applied Cryptography" Schneier

    O'reilly
    "Encyclopedia of Graphics File Formats" Murray & Vanryper
    "Practical UNIX & Internet Security" Garfinkey & Spafford
    "Essential System Administration" Frisch
    "Programming Perl" Wall Christiansen Schwartz
    "Mastering Algorithms with Perl" Orwant Hietaniemi Macdonald

    QUE
    "Linux Socket Programming by Example" Gay

    Sam's
    "TCP/IP Blueprints" Burk, Blight, Lee, et al

    "The Mythical Man Month" Lent out at the moment

    Out of print books
    "Peter Norton's guide to the PC" Norton

    --
    /* TODO: Spawn child process, interest child in technology, have child write a new sig */
  29. OOSC II by ansible · · Score: 3

    Ack! I can't believe that no one has mentioned Object Oriented Software Construction (2nd Edition) by Bertrand Meyer.

    Though you may not always agree with what he says, he brings a rigor and thoughtfulness to OO design. This book can help you understand how stuff like multiple inheritance should work. He also gives some interesting ideas on things like parallel programming in an OO world... something beyond just threads and semaphores.

    Even if you don't (or can't) program in Eiffel (the language used in the book) I believe this hefty tome (1000+ pages) can improve your design ability.

  30. poor old pascal by K. · · Score: 2

    Since I haven't seen it anywhere in the top few postings: Algorithms + Data Structures = Programs, by Wirth.

    --
    -- Proud descendant of semi-nomadic cattle-herders.
  31. A modern classic by mattbee · · Score: 2

    Obviously people are going for Kernighan, Knuth and various dry tomes on algorithms, but I'd suggest Mr. Bunny's Big Cup O' Java, a snip at $12. It's not instructive in a technical sense, but its purpose is to warn the reader off buzzwords and bullshit computer manuals through satire and nonsense. Tim Lindhom (JVM spec. co-author): Mr. CE III does have a way of capturing the industry patois and spewing it back as absurdity. Well, at least it made me snigger loudly in a crowded bookshop, so make of it what you will.

    --
    Matthew @ Bytemark Hosting
  32. CJ Date's Database Book by wirefarm · · Score: 3

    CJ Date's "Introduction To Database Systems"
    Great book.
    All of the O'Reilly books.
    Mythical Man Month.
    Surely You're Joking, Mr. Feynman.
    The K & R C book.
    Knuth.

    That would do it for me...

    Cheers,
    Jim in Tokyo

    Have no clue about firewalls?

    --
    -- My Weblog.
  33. Textbooks || Data Mining Helps You! by NitsujTPU · · Score: 2

    It sounds kind of lame, but you should get some topical textbooks, not just ones like Java in a Nutshell (though I would recommend a copy of that), but also some AI, Neural Network, Graphics, and Operating Systems books. These books have a long shelf life and lasting value, so they won't go out of style. Also, perhaps a couple C/C++ programming books. Theory is always a good thing. Then I would get some really beginner sorts of books as well. I think that the best way to start if you're working on a monthly budget sort of deal is to get topical reference books first, and work your way to more fad/language oreinted books that won't have so long a shelf life. Also, try to stick to ANSI standards, as they are the ones that will be the most applicable across platforms. IE, get a book on ANSI C, and maybe hold off on the one on Visual C++. Try to cover a smattering of topics and things that are of general academic interest more in depth rather than getting several books on a single language.

    Perhaps you could generate some usage reports using the online catalog, see what the people are checking out, and buy more in that direction. If you bought a sampling of books from many different subjects, and then looked on the catalog to see which ones are out the most, you could tailor your library to what the local interest seems to be.

  34. From the "Laugh-it's-funny-dept" by Khan · · Score: 2

    "Hot Grits! A Users Guide to Posting on Slashdot" You gotta admit, it does have potential ;)

    --

    "Klaatu, verada, necktie!" -Ash

  35. Re:Core Programming Books by WasterDave · · Score: 2

    Brooks, Fred, The Mythical Man-Month -- Because it woke the world up to how to build big systems.

    On a similar note you should have "Rapid Development" by Steve McConnell. This is a great book on how to apply the lessons learned by Fred Brooks in the real world.

    Dave

    --
    I write a blog now, you should be afraid.
  36. My (not too) short list by dutky · · Score: 2
    My list is geared toward providing a good research base for technical people and folks that want to become technical people. Here are the hard-core technical books:
    • The Art of Computer Programming, volumes I-III - Donald Knuth
    • The Mythical Man-Month - Fred Brooks
    • Peopleware - Tom DeMarco & Timothy Lister
    • The Psychology of Computer Programming - Gerald M. Weinberg
    • Compilers: Principles, Techniques and Tools - Aho, Sethi, and Ullman
    • Compiler Design in C or Compiler Design in Java - Allen Hollub
    • C+C++ Programming With Objects in C and C++ - Allen Hollub
    • Object-Oriented Programming: An Evolutionary Approach - Cox & Novobilski
    • Computer Architecture: A Quantitative Approach - Hennesy & Patterson
    • The C Programming Language - Kernighan & Ritchie
    • The UNIX Programming Environment - Kernighan & Pike
    • Information Theory - Claude E. Shannon
    • Claude Elwood Shannon: Collected Papers - Sloane and Wyner
    • Cybernetics - Norbert Wiener
    • Numerical Recipes in C - Press, Vetterling, Teukolsky, & Flannery
    • Operating System Design: The XINU Approach - Douglass Comer
    • Operating System Concepts - Silberschatz & Galvin
    • Mobile Robotics: Inspiration to Implementation - Jones & Flynn
    • Tog on Software Design - Bruce Tognazzini
    And, for the non-technical end of things, more history oriented:
    • The Soul of a New Machine - Tracy Kidder
    • Fire in the Valley: The Making of the Personal Computer - Freiberger & Swaine
    • IBM's Early Computers - Bashe, Johnson, Palmer & Pugh
    • The Cathedral and the Bazaar - Eric S. Raymond (I'm not a karma whore, I'm more of a self-promoter: I'm in the acknowledgements)
    • The Age of Intelligent Machines - Raymond Kurzweil (not to be confused with his more recent book The Age of Spiritual Machines, which is likely a load of tripe, but may be worth including anyhow)
    • Freedom's Edge: The Computer Threat to Society - Milton R. Wessel (a much saner analysis of the effect of computers on our culture than Kurzweil's recent book)
    Otherwise, I'd get some stuff on relational database theory and design (the book by C. J. Date is widely used, though nearly unreadable), a few books about other languages (both common and rare, you should at least have books on Java, Pascal, Lisp, Fortran and BASIC, but it shouldn't be too hard to construct a set covering far more), as well as some books about assorted kinds of hardware (a couple of microprocessor books -- 6502, Z80, 68000, 8086/8088 -- as well as some of the older minis and mainframes -- CDC 6600, PDP-11, DEC VAX, IBM 360 -- along with a few books on specific models of personal computers -- Apple II, Macintosh, IBM-PC -- should satisfy most people's curiosity). You might top it off with some non-computer books about electronics and methematics, but I don't know what to suggest there.

    You should be able to find some very nice deals on a number of these books at used bookstores. Some of the books are out of print, so this may be your only real option. Amazon has links to used bookstores, and many of them have their own websites if you are still mad at Amazon over the one-click patent stuff. I'd suggest Powell's Books in Portland, they've got a better selection than I've seen almost anywhere else, and they deliver.

  37. Re:Not yet mentioned by dutky · · Score: 2
    I'll second this nomination. I discovered this book (Computer Power and Human Reason) in my library while finding books for my own list. I haven't any idea where or when I bought it, but I'm reading it now, and it is really good. I'd put it under the non-technical/historical/philosophical category. A good companion piece to Freedom's Edge and Kurzweils recent load of hooey (The Age of Spiritual Machines not to be confused with his earlier book, The Age of Intelligent Machines which is actually quite good).

    I also thought of a few more books that deserve to be mentioned: A number of books by Edward Yourdon (Structured Analysis and Design The Decline and Fall of the American Programmer and The Rise and Resurection of the American Programmer should pretty well cover Yourdon) are good to have, even if his theses are no longer much in vogue. Similarly, the OO books by Grady and Booch are worth having, along with some UML, Use Cases and Patterns related texts.

    Finally, there was a little hippy-trippy book I ran into back in college in the early nineties, but was never able to find again later. The title was Digital Memory and was some kind of treatise on Peace, Love, and Interactive Computing. It actually had a few interesting things to say, even if the tone was a bit on the too-much-THC-in-my-bloodstream side.

  38. 1 Recommendation: SICP (MIT Press) by occam · · Score: 2

    "Structure and Interpretation of Computer Programs" by Abelson and Sussman (MIT Press).

    One of the most eye-opening and amazing books on CS. It's based on scheme ('the' elegant dialect of Lisp) and takes a no-holds barred approach to introducing oversimplifications (e.g., data + program) and then turning them on their heads for great instruction.

    A (so far) timeless classic.

    = Joe =

  39. Re:for TCP/IP... by Azog · · Score: 2

    Yes! "Advanced Programming in the Unix Environment", which is part of the same series from Richard Stevens, is my trusted companion as a C programmer making the escape from Microsoft to Linux.

    And it's not Linux specific - it's pretty much POSIX, and does talk about some of the differences between implementations where they matter.

    An excellent and comprehensive set of books.

    Torrey Hoffman (Azog)

    --
    Torrey Hoffman (Azog)
    "HTML needs a rant tag" - Alan Cox
  40. Windows Programming Books by Katravax · · Score: 2

    Some of the long shelf-life Windows programming books:

    • Programming Windows -- Charles Petzold
    • Programming Windows with MFC -- Jeff Prosise (though I shudder to think of more MFC programmers)
    • Win32 Multithreaded Programming -- Cohen and Woodring
    • Network Programming for Microsoft Windows -- Jones and Ohlund
    • Professional NT Services -- Kevin Miller

    And a non-Windows goodie I haven't seen mentioned:

    • Assembly Language Step-by-Step -- Jeff Duntemann
  41. Re:A good few books... by figment · · Score: 2
    While this book is probably entirely not about computers (ok except for the part about the punchcards going faster), i think you're brings up a really good point.

    I think the goal of libraries should be to drum up interest for the topic in question, not necessarilty provide hardcore reference books. Extrapolating to physics Six Easy Pieces and the two Feynman pseudoautobiographies do a fantastic job at getting people interested in science, while his berkley lectures have a lot less appeal, even though they're probably better for your local physics majors.

    Consider this. Say you're interested in physics. Would you want to read Six not so easy pieces , a relatively easy book that deals with relativity, or the chapter on relativity in Classical dynamics of particles and systems , which i can barely understand, even after using it in class for a year?

    This is exactly what we're doing when we recommend things like Halabi or most random O'Reilly books. Why do we like O'Reilly? because when i need to know the name of the object that controls blabla, then I can look it up. Quickly. Having a book that tells you that ListCellRenderer has 1 method called getListCellRendererComponent really has limited value to most people.

    Learning Perl is great, because it's an introductory book (but even that is a lot easier to read if you already know C). O'Reilly does have a lot of good books that cover introductory topics (incidentally, i own none of them), but just because it's on your bookshelf and probably is the most kickass book on it's topic, that doesn't mean it's entirely suitable for your public library.

  42. Re:books by figment · · Score: 3
    > The only problem with the "For Dummies" books
    > is that they are tailored for one version of
    > any particular subject without really
    > explaining the fundamentals of what's happening

    Yes. But imho, that's exactly what we want for libraries. I think the idea should be to drum up interest for different things, and the "For dummies" books do these things quite well. They are (or at least try to be) mildly entertaining (in contrast you cannot read Java in a Nutshell as evening reading material.

    While we shouldn't just limit ourselves to shallow books, we do not need the most expert books either. Someone earlier suggested Halabi (which i treat as my bible), but it really has limited use in a public library, anyone who needs the book will purchase it because they need it 24/7. A more reasonable book would be TCP/IP Network Adminstration which allows people to learn the basics, and points them in the right direction if they desire to learn more. I even think the Cricket book is inappropriate because although it really explains dns well, it also explains why you cannot point an MX to a CNAME (and if i didn't administer a couple DNS servers, i wouldn't care in the least why this was), when a book on how the general internet works could supply so much more pertinent information for the money.

    > In a couple of years they will be out of date,
    > and you'll have to buy a new set.

    Probably true, but i don't think they go out of date any faster than any other programming book (especially html/javascript variants). Also "For dummies" books are comparitively cheap. Last I checked Dummies books went for $20, now they're going for anywhere from $25~40. With the notable exception of O'rielly, most books now go for ~$50~60, so you are able to get a broader scope of things with the Dummies books.

    My personal library is almost exclusively O'Rielly and Cisco Press, i don't think there is very much of a debate that these are probably the best reference books out there, but imho it's not what my local public library needs.

  43. Core Programming Books by sohp · · Score: 5

    Brooks, Fred, The Mythical Man-Month -- Because it woke the world up to how to build big systems.

    Schneier, Bruce Applied Cryptography -- Because libraries should have the books THEY don't want you to read.

    DeMarco, Tom, and Timothy Lister, Peopleware: Productive Projects and Teams -- How programmers working in teams actually get things done.

    Gamma, Helm, Johnson, & Vlissides, Design Patterns -- Landmark book on developing with objects

    Knuth, Donald, The Art of Computer Programming, Knuth -- Landmark classic

    Alexander, Christopher A Pattern Language, ChristopherAlexander, et. al., and Timeless Way of Building -- Thinking about programs that people can actually use.

    1. Re:Core Programming Books by JordanH · · Score: 2
      • Brooks, Fred, The Mythical Man-Month -- Because it woke the world up to how to build big systems.

      Oh? The world is awake when it comes to the issues concerning how to build big systems?

      I hadn't noticed.

      I do agree with the choice, I'm just disparing at how few project managers and executives I've known really understand something as simple as "adding people to a late project makes it later".

    2. Re:Core Programming Books by sv0f · · Score: 2

      Why would you want an architecture book in the computer section?

      A compromise, then. Richard P. Gabriel's "Patterns of Software: Tales from the Software Community" does justice to both patterns in the computer programming sense and to Alexander's work. Readers will be inspired to track down Alexander's "Timeless Way of Building" or Grabow's biography of Alexander, both in the architecture section. They'll also be turned onto the software sense of the term. Finally, they'll get a book that belongs in a public library, not the elite shelves of a University's technical library.

      (The exposure to Lisp is a freebie!)

  44. I'm sure I'll get some flaming for this, but... by iapetus · · Score: 2

    ...I'm going to recommend a book from (gasp!) Microsoft Press. If ever they institute some sort of formal test before people are let loose on poor innocent computers, Code Complete should be the programmer's equivalent of the Highway Code.

    It's full of good advice, and there's nothing in there that's particularly language-dependent. My one complaint would be the lack of solid OO coverage - a book that addresses the same sort of issue for OO languages would be great as well.

    Code Complete at Amazon

    For more specific information on MS systems, I think the one text book that covers everything you need to know in sufficient detail is Mr Bunny's Guide to ActiveX - if you haven't read this book and are currently developing for MS platforms, stop now. You can read the book too, but that's entirely optional.

    And before I'm inundated by anti-Microsoft zealots accusing me of only putting forward pro-MS books, might I also recommend the remarkable Mr Bunny's Big Cup o' Java, which will teach you everything, something, or even less about Java, and possibly a little about rabbits.

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  45. Re:Small Minds, Small Worlds by Webmonger · · Score: 2

    Yes, but all the content CAN'T be had in digital form. There are many forces that would rather not have data available digitally-- at least, not until they can charge you by the minute. Right now, scientists are planning on boycotting scientific journals that won't permit scientific works to be made available online.

    Libraries are also commonly supplied with computers for web surfing, which helps get lower-income people involved in this whole great digital playground.

    And which would you rather read in bed: a book or a laptop?

    Some books IN a library may be obsolete, certainly I never read computer magazines any more, but libraries themselves-- not for a long time yet.

    Nice troll.

  46. Some great Java books... by SuperKendall · · Score: 2

    One book I'd reccomend is "Thinking in Java" by Bruce Eckel. Another very excellent book recently released is "Effective Java" by Josh Bloch, written in the same style as "Effective C++" (which you should proabbly also get!). Yet another great choice is "Concurrent programming in Java" which is a great book about multithreaded programming and seems like it would be good source material for threads in just about any language as it's really more about patterns to use in threaded programming.

    I wish I could think of some better books to learn programming from scratch, as there don't seem to be many suggestion in that area. Perhaps "Scheme and the Art Of Programming"? That coupled with a simple scheme implementation to learn from would be great - I think suggestions of Ruby and Python to learn are also good.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  47. Along those lines - Design and Evolution of C++ by SuperKendall · · Score: 2

    I'd reccomend "The Design and Evolution of C++" by Bjarne Stroustrup, which is specific to C++ but gives you a lot of insight into how a language forms and I think is a great read no matter what language you like to use.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  48. Go ahead, mod me down for non-techie books, but... by gmhowell · · Score: 2

    But these two books are rather important. While not computer how-to books, they should be read by everyone who is thinking of picking up the other books:

    1) High Tech Heretic : Reflections of a Computer Contrarian
    By Clifford Stoll

    Do we need computers everywhere, particularly in schools? Nope. Not necessarily. Although some of us have made them the be all and end all of our lives, it's not normal, and shouldn't be expected.

    Easy to read, easy to understand, tough to refute.

    2) In the Beginning...Was the Command Line

    By Neal Stephenson

    You don't need to program Apple Basic (or mainframe Fortran, or other archaic things) to be able to use computers. But this book is another nice, non-technical addition to a complete computer bookshelf.

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  49. My picks for books that will last some time by MarcoAtWork · · Score: 2

    Besides the already mentioned (Kernighan&Ritchie, Stroustrup etc. etc.) I would vote for the following:

    Lamport: Latex, a document preparation system

    Goosens et al: The Latex Compation

    Nemeth et al: Unix system administration

    Gamma et al: Design patterns

    Butenhof: Programming with Posix threads

    Meyers: Effective C++

    A good data structures book in C/C++ (unsure, I haven't yet found one I'm completely comfortable with)

    The X windows series from O'Reilly, since even if GTK and Qt are the flavor of the moment, if one learns how to program in Xlib/Xt/Motif, one can pick up pretty much anything.

    --
    -- the cake is a lie
  50. TAOCP by Shadowhawk · · Score: 2

    The Art of Computer Programming, of course!

    --
    My mind works like lightning. One brilliant flash and it is gone.
  51. A good few books... by Polo · · Score: 2

    Surely You're Joking Mister Feynman by Richard P. Feynman

    This was actually a text for a few Penn State compsci courses (though it was optional).

    I also liked Peopleware by Tom Demarco and Timothy Lister

  52. I can't belive... by LetterRip · · Score: 3

    That no one has suggested

    Code Complete

    and

    Rapid Development

    they are two of the most important computer (programmer) books out there...

    LetterRip

  53. Dorset House Press by CharlieG · · Score: 2
    Besides the two Microsoft Books that some people have said to stay away from (Writing Solid Code and Rapid Development) I'd have to say just about anything published by Dorset House These Include books that have been recommended here before such as:
    • Peopleware
    But I'll add some more:
    • Are Your Lights On?
    • Becoming a Technical Leader
    • Creating a Software Engineering Culture
    • Designing Quality Databases with IDEF1X Information Models
    • An Introduction to General Systems Thinking: Silver Anniversary Edition
    • Managing Expectations: Working with People Who Want More, Better, Faster, Sooner, NOW!
    You'll notice that a LOT of these books are by Weinberg - You can also add all four volumes of "Quality Software Management" once the developer gets a bit more advanced You'll notice a pattern here - Not ONE of these books is about a particular language. They are about HOW to develop projects. Language books go out of date - FAST. Books on HOW to be a programmer LAST, some of these books have been in publication for more than 25 years and are not out of date.
    --
    -- 73 de KG2V For the Children - RKBA! "You are what you do when it counts" - the Masso
  54. Artificial Intelligence - A Modern Approach by fungus · · Score: 2

    Artificial Intelligence - A Modern Approach by Stuart Russell and Peter Norvig is a great book that explains many concepts in AI. It is the book the most used in Universities around the world to teach this subject. It is not language specific, covers most aspects of AI, is okay for beginners, and goes in the details...

    I really enjoyed this book and think it is a great buy.

  55. Re:Can't go wrong with O'Reilly by phaktor · · Score: 2

    Speaking of O'Reilly:

    here is the website you'll want,

    http://libraries.oreilly.com/

    --
    I don't use eleetism in my Email
  56. Re:Knuth by prizog · · Score: 2

    "30 years ago, linked lists might have been novel, but today, anyone who doesn't understand them and claims to have some programming knowledge is a fool."

    1. There's much more to TAOCP than linked lists, and I doubt you would claim to know every technique presented therein - or even half of them.

    2. The idea is to get books for a library, where people who are learning programming might check them out, and be exposed to the fundamentals of computer science.

    3. What is with your attitude?

  57. History... by cr0sh · · Score: 2

    Remember the computer history books - a large collection of these is essential to any library, to see where this all started from, and where it may be heading to.

    There are a few good recently published "History of Computers" books, but honestly, the best way to get a history of computers is to find older computer reference books (ie, books which when sold presented "state-of-the-art" information about computers - I have some real interesting ones from the 40's and 50's).

    Books on Babbage, Pascal, Lord Kelvin, Ada Lovelace, Alan Turing, etc - would also be welcome additions to such a section. Throw in books on Hollerith, as well. Add recent stuff (hacker history - like the Jargon File, etc - and others), as well as more "popular" stuff - like "The Media Lab" and Steven Levy's "Hackers"...

    Gotta know where all this came from, and where are roots are, as well...

    Worldcom - Generation Duh!

    --
    Reason is the Path to God - Anon
  58. A few by anticypher · · Score: 2
    Here are some titles I tend to keep on my shelf. Books that have served me well over the years, and maintained relevance to various aspects of my job

    The Dragon Book (Compilers, principles, techniques and tools) by Aho, Sethi and Ullman

    The Cricket Book (DNS and BIND) by Albitz and Liu

    The Bat Book (Sendmail) Allman and co-conspirators

    The BGP Book (Internet Routing Architectures) Sam Halabi

    A whole bunch of William Stallings books (Cryptography and Network Security, High Speed Nets and ATM Design, SNMP)

    The whole series of Roger L. Freeman's Reference Manual for Telecommunications Engineering.

    Telecommunications Engineer's Reference Book, by Mazda

    At home, I have the classics, Knuth's Art of Computer Programming volumes I to III, The Mythical Man Month, Godel Escher Bach, and many others I can't remember in this inebriated state.

    For a lending library, I'd add the whole of the O'Reilly series, a bunch of Cisco Press, Dilbert and of course User Friendly

    the AC

    --
    Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
  59. Re:You'll want both by anticypher · · Score: 2

    Imagine checking out the camel book for a week, and getting started on Perl. Then you have to turn it in. Minutes later, you'll need the book again.

    You will probably buy one to keep. You certainly would know the worth of a good reference book, and remember those funny animal sketches.

    the AC

    --
    Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
  60. Jon Bentley's Programming Pearls by nano-second · · Score: 2

    The original edition, and the sequel More Programming Pearls. Also, Introduction to Algorithms by Cormen, Leiserson and Rivest is a good basic algorithm reference.
    ---

    --
    I hope you're not pretending to be evil while secretly being good. That would be dishonest.
  61. I once heard of.... by ffatTony · · Score: 2

    this publisher who puts a different animal on the cover of each book. The name escapes me at the moment, but I'd try there genius.

  62. C++, Graphics, Game Programming by UnknownSoldier · · Score: 3
    C++
    • Design & Evolution of C++, Bjarne Stroustrup
    • Annotated Reference Manual, Bjarne Stroustrup
    • Effective C++: 50 Specific Ways to Improve Your Programs and Design, Scott Meyers
    • More Effective C++: 35 New Ways to Improve Your Programs and Designs, Scott Meyers
    • Thinking in C++: Introduction to Standard C++ Volume One, Bruce Eckel


    Advanced C++
    • Advanced C++ Programming Paradigms and Idioms, James Coplien
    • Design Patterns, Gamma Helm Johnson Vlissides
    • Stl Tutorial & Reference Guide : C++ Programming With the Standard Template Library, David R. Musser
    • Generic Programming and the STL: Using and Extending the C++ Standard Template Library, Matthew H. Austern
    • Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library, Scott Meyers


    Graphics
    • Computer Graphics : Principles and Practice, Second Edition in C, Foley, van Dam, Feiner, F. Hughes
    • Graphic Gems I II III IV V
    • OpenGL Programming Guide
    • 3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics, David H. Eberly
    • Jim Blinn's Corner : A Trip Down the Graphics Pipeline, Jim Blinn
    • Jim Blinn's Corner : Dirty Pixels, Jim Blinn


    Game Programming
    • Game Programming Gems 1 & 2
    • Game Architecture and Design, Andrew Rollings
    • 3D Games, Volume 1 : Real-time Rendering and Software Technology, Alan Watt & Fabio Policarpo
    • Game Developer (monthly)


    Software Engineering: (these are the BEST ones, not the long boring ones that put you to sleep)
    • Writing Solid Code,Steve Maguire
    • Rapid Develepment,Steve McConnell
    • Code Complete,Steve McConnell
    • Mythical Man-Month Anniversary Edition,Fred Brooks


    Math:
    • The CRC Concise Encyclopedia of Mathematics, Eric W. Weisstein
    • Godel, Escher, Bach : An Eternal Golden Braid, Douglas R. Hofstadter
    • The Feynman Lectures on Physics : Commemorative Issue, Richard Phillips Feynman


    Enjoy !

    ~~~~~
    "The issue today is the same as it has been throughout all history, whether man shall be allowed to govern himself or be ruled by a small elite." - Thomas Jefferson
  63. for TCP/IP... by lactose99 · · Score: 2

    Get _TCP/IP Illustrated_, volumes I, II, and III, all by W. Richard Stevens. These are, hands down, the most informative books regarding the TCP/IP protocol. I have yet to find any other book that contains even a tenth the information that any one of these have, the closest runner-up being O'Reilly's TCP/IP handbook for UNIX admins. Volume I has become required reading at my job (Network Engineer for a large ISP), and I'm sure anyone who works with TCP/IP networks for a living or hobby would find these books invaluable.

    --
    Fully licensed blockchain psychiatrist
  64. My Top Three Books by Smeg}{ead · · Score: 2

    The three books I have found the most helpful, and recommended to the most people over the last many years would be:

    1. Code Complete by Steve McConnell -- A briliant text on all aspects of software creation, language neutral

    2. Software Project Survival Guide, also by Steve McConnell -- All you wanted to know about the best processes for executing a software project and getting it shipped with your career in one piece

    3. Advanced Programming in the Unix Environment by W. Richard Stevens -- no intro necessary.

  65. Re:Design Patterns - the FIRST edition by alispguru · · Score: 2

    The first edtion acknowledged that there was more than one OO language/style in the universe, with code examples in Smalltalk, CLOS, etc. The later editions went to pure C++, and lost a lot in the translation.

    --

    To a Lisp hacker, XML is S-expressions in drag.
  66. Patterns of Software by Richard Gabriel by alispguru · · Score: 2

    This is part history of AI hacking culture, part history of the AI bubble and how Lucid soared and crashed, and part Gabriel's take on patterns (he thinks they're mostly being used as crib notes to teach beginners how to get around limitations in lowest-common-denominator OO langauges).

    For more info visit his web site, and particularly the part on Worse is Better

    --

    To a Lisp hacker, XML is S-expressions in drag.
  67. Re:The C++ Programming Language by Unknown+Lamer · · Score: 2
    How about these books too (shamelessly copied and pasted from Bjarne Stroupstrup's website):
    • Bjarne Stroustrup: The Design and Evolution of C++. Addison Wesley, Reading, MA. 1994. ISBN 0-201-54330-3. 472 pages. Softcover.
    • Margaret A. Ellis and Bjarne Stroustrup: The Annotated C++ Reference Manual. Addison-Wesley, Reading, MA. 1990. ISBN 0-201-51459-1. 478 pages. Hardcover.


    -------------
    --

    HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  68. My list by LordNimon · · Score: 2
    Advanced C++ Programming Styles and Idioms
    James O. Coplien

    It's a great book for novice C++ programmers. It explained a lot to me. Unlike other books of its kind, it's completely OS-independent.

    Code Complete : A Practical Handbook of Software Construction
    Steve C McConnell

    This is one of those "how to write code that can be maintained by anyone" books. A library can't have too many books like these.
    --
    Lord Nimon

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
  69. Scott Meyers books by astrophysics · · Score: 2

    Scott Meyers has several good C++ books...
    The first is organized as 50 tips (really concepts) to improve your code.
    The second is 35 more.
    The latest is on STL. I haven't read that one, but based on his previous ones and how long he took to write it, I trust it's also a good read.

  70. Numerical Recipies in XXX by astrophysics · · Score: 2

    Numerical Recipies by William Press, Saul Teukolsky, William Vetterling and Brain Flannery.
    There are C, Fortran, Pascal, and Basic versions. Obviously you don't need all. Any one will do. Although the Fortran version has the advantage that it would be contiguous with NR in F90 which is not like any of the others in that it focuses on parallel programming. I'd have to say that NR in F90 isn't nearly as essential as any one of the standard NR texts.

  71. Re:O'Reilly books by jerdenn · · Score: 4

    avoid everything from Microsoft Press or written by Microsoft employees

    You are mostly correct - one notable exception is Steve McConnell, author of two very notable books - "Code Complete" and "Rapid Development".
    -jerdenn

  72. Get the extremes by sg3000 · · Score: 2

    The most important things to teach students about any subject is diversity. I can't believe how many college grads that I had to interview that thought they were good candidates because they knew all Microsoft stuff. I hired the one who had experience with at least three different environments, and could tell me the pros and cons of each. Give me someone who knows 10 years of A, and someone who knows 5 years of A and 5 years of B, and I'm more likely to hire the latter.

    So I would pick at least O'reilly's "Unix in a Nutshell" so you always have your reference.

    And then get "AppleDesign: The Works of the Apple Industrial Design Group" to remind you that computers should be more than boring boxes and uninspired designs.


    --
    Insert simplistic political, ideological, or personal proselytization here.
  73. Re:Undergrad textbooks: Algorithms, H&P, Dragon, e by Ryu2 · · Score: 2

    I would get Ullman/Aho/Hopcroft's automata book instead. They just came out with a brand new, much more accessible and understandable, yet unchanged in depth, edition (about time! =) )

    --
    There's 10 types of people in this world, those who understand binary and those who don't.
  74. Concrete Mathematics by GrEp · · Score: 2

    Concrete Mathematics by Grahm, Knuth and Patashnik

    The book unvails the wonderfull world of Mathematics that goes into computer programming. It is a must have in any library, especially if you want to understand TAOCP.

    bash-2.04$

    --

    bash-2.04$
    bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
  75. Must have Donald Knuth series ... by NoRefill · · Score: 3

    "The Art of Programming Vol. 1-3" by Donald Knuth. The definitive guide to theoretical and practical Computer Science. Check it out.

  76. Numerical Recipes by renard · · Score: 3
    For those who use computers as tools to comprehend the world... there is no alternative.

    Numerical Recipes in C: The Art of Scientific Computing, by William H. Press,Brian P. Flannery,Saul A. Teukolsky,William T. Vetterling.

    To paraphrase the Planet of the Apes star: Anyone who wants my copy can pry it out of my cold, dead hands.

    -Renard

    1. Re:Numerical Recipes by nels_tomlinson · · Score: 2

      There has been a LOT of well-informed criticism of the Numerical Recepies books. It seems to center around the idea that the recipes don't scale well, and are more useful as teaching tools than for serious scientific work. There is a wonderful page at one of the big government labs which explains in detail, along with some alternate sources of examples. If I can find the link, I'll post it as a reply to this. I like Numerical Analysis for Statisticians, by Lange. It's aimed right at my field, and it comes highly recommended by an eminent numerical analyst and theoretician.

      You might want to check out this link, which I stumbled across while trying to find that page about (against, really) Numerical Recipes. Cannonical Tomes, they call themselves. Looks good.

  77. Re:Kernighan and Ritchies's C Programming Language by VAXman · · Score: 2

    Hmm, seems a little software centric to me.

    Patterson & Hennesey's Computer Architecture: A Quantitative Approach is absolutely indispendable.

    Intel's three volume X86 manual set is completely required for anybody doing development on X86 systems.

    The Alpha ARM is good reading. So is the VAX manual.

    Something like the DECsystem-10 System Description makes good midnight reading for a totally different perspective (my favorite current computer book), if not something remotely applicable to today's systems.

  78. Too technical! by crucini · · Score: 2

    Everyone is recommending books that we enjoy, not books that would help the general public. This is ridiculous. When I was a kid I made stuff out of fibreglas. The library had books on fibreglas fabrication aimed at the layman. And they helped. Now ask a bunch of mechanical engineers who design fibreglas structures and they'll probably recommend some book full of differential calculus. If the library had those highly technical books instead, I would never have learned the basics of fibreglas fabrication.
    To apply that to the current case, the public does not need or want university-level computer science books. They need books about how to accomplish tasks. How to build a PC. How to plug in a PC you bought. How to shop for an ISP and get your computer talking to an ISP. How to make a web page.
    One book I'd consider appropriate is The No B.S. Guide to Linux. It's a simple book about installing and using Linux for the first time.

  79. Re:Based on what my local library has... by crucini · · Score: 4
    I'm afraid you may have missed the point. The poster was pointing out that what looked like a good choice to librarians a few years ago looks a bit silly now. And I'll agree; most computer books in public libraries look pretty silly, especially after the first 10 years have gone by. By the same token, the books chosen today are likely to look pretty silly in a decade, although choosing the right ones could minimize that.
    For some reason I have this image of the 'library computer book' with a bunch of black-and-white photos in the middle:
    • Man with glasses and polyester short-sleeved shirt sitting at terminal on expensive computer desk. Caption:The smart terminal allows users to interact with the computer in real time. Courtesy Lear-Seigler corporation.
    • Woman in skirt and heels is crouching to change a tape on a filing-cabinet sized computer. Caption:Minicomputers are becoming increasingly powerful. The unit pictured here can perform hundreds of mathematical calculations per second. Photo courtesy Honeywell Corporation.
    Anyhow, I'm glad libraries keep old irrelevant junk. It gives us a way to measure the passage of time. The commercial world constantly erases and rewrites the past. This is a large part of what DMCA is about - the right of the wealthy to erase the past and rewrite it in their own image, versus the right of the commoner to retain information.
  80. My Choices by Martin+S. · · Score: 2

    To get real shelf life, focus on methods and techniques rather than specific examples of technologies. These are my choices, I own copies of all these and consult them regularly (some daily)

    The Art of Computer Programming Volumes 1-3
    By Donald E. Knuth
    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=0201485419&vm=

    Numerical Recipes in C: The Art of Scientific Computing
    By William H. Press,Brian P. Flannery,Saul A. Teukolsky,William T. Vetterling
    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=0521431085&vm=

    The Unified Modeling Language Reference Manual (UML)
    By James Rumbaugh,Grady Booch,Ivar Jacobson
    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=020130998X&vm=c

    Applied Cryptography : Protocols, Algorithms, and Source Code in C, Second Edition
    By Bruce Schneier
    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=0471117099&vm=c

    Design Patterns: Elements of Reusable Object Oriented Software
    By Erich Gamma,John Vlissides,Ralph Johnson,Richard Helm,Foreword by Grady Booch
    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=0201633612&vm=c

    Code Complete: A Practical Handbook of Software Construction
    By Steve McConnell Also 2 non-technical, but IMHO essential reading.

    The Innovator's Dilemma: When New Technologies Cause Great Firms to Fail
    By Clayton M. Christensen

    Unleashing the Killer App: Digital Strategies for Market Dominance
    By Larry Downes,Chunka Mui

  81. New classics and an old one by catseye_95051 · · Score: 3

    New (relatively) References:
    The Java Prgramming Language, 2nd ED.
    Effective Java
    Java Platform Prformance: Strategies and Tactics

    New Tutorial:
    The Java Tutorial.

    Older reference:
    Effective C++.

  82. Good god, since when does Computers = Systems?? by Tom7 · · Score: 2

    I think you need a bit more breadth there, dude. Almost every book you listed is in the "systems" category, only one of the many areas of computer science (albeit a popular one among slashdot kids). How about:

    Theory? (and the million areas of theory?)
    Software engineering?
    Modern Programming Languages?
    Graphics?
    User interfaces?
    AI?
    Computational *?

  83. Knuth by PaxTech · · Score: 2
    Knuth's The Art of Computer Programming.

    'Nuff said.
    --
    PaxTech

    --
    All movements for social change begin as missions, evolve into businesses, and end up as rackets.
  84. Networks by Tanenbaum by Raindeer · · Score: 2

    As in the subject. One of the books I always have handy, not because it goes into the most depth, but it tells me the basics quick, when I need them.

  85. Problem - Theft by BWS · · Score: 2

    a major problem is theft. I know we had it with our library here at the city. The library once had some decent programming books but those got stolen fairly fast. They replaced them again and within 6 months they were gone.

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
  86. Pragmatic Programmer by MrBlack · · Score: 2
    My votes go to
    • The Pragmatic Programmer
    • The Practice of Programming
    • The C Programming Language
    • Code Complete
    • Rapid Development
    • VBScript Unleased in 24 hours for Dummies, Deluxe Edition
    Just Kidding about that last one! As you can probably tell from my list I'm a programmer (so programming books are the type of books I can reccomend) No doubt hardware/networking people will have some awesome books in this area to reccomend. Ditto books on SQL and relational database design.
  87. Re:*BSD is dying by MrBlack · · Score: 2

    I'm sure I've read this post (or very similar) before (especially the estimation of the number of *BSD users). I hope you're not re-cycling posts are you (althought why you would re-cycle such an obvious troll is beyond me)? If *BSD is dead what do you call this?

  88. Another set of suggestions: by nels_tomlinson · · Score: 2
    I didn't see anyone suggesting Structure and Interpretation of Computer Programs. Another good book is A Gentle Introduction to Lisp, by Touretzsky. Another book which I think is essential for computer science (as opposed to banging out code by guess-and-by-gosh) is Knuth's Concrete Math (find it at Amazon, I don't think it's on the web). This is for discrete math what a REALLY good calculus text would be for infinitesimals. A final suggestion is the Handbook of applied Cryptography.

    Except for Concrete Math, all of these are available on the web free of charge, and all of them are of lasting value, and well worth the cost.

  89. Plauger's Programming on Purpose books by Fencepost · · Score: 2
    They're out of print now, but they cover a good range of subjects that aren't covered in most computer books.

    There are three books, covering almost all of the columns he wrote for Computer Language magazine and grouped into three categories:

    • Programming on Purpose: Essays on Software Design (note: Amazon lists this as "Programming Design")
    • Programming on Purpose II: Essays on Software People
    • Programming on Purpose III: Essays on Software Technology

    Jon Bentley's Programming Pearls books would also be good for a library to have.

    Of the Plauger books, I think the one on People is probably the most important - Design and Technology are covered pretty well in a wide range of books, but much of People is about roles, personalities and the like, not something that's as well covered.

    -- fencepost

    --
    fencepost
    just a little off
  90. Computer Networks -- Tanenbaum by Dr_Cheeks · · Score: 3
    Everyone seems to be focusing on K&R (expensive, very thin for a computing book, yet absolutely essential).

    But I'd put Computer Networking by Andrew Tanenbaum ahead of K&R. It's well written - not too much like a textbook, humourous in places, with good thought provoking examples (e.g. at what point does a station wagon full of tapes speeding down the highway become a higher bandwith carrier than a T1 cable?). And my copy is a few years old and still relevant (which, as we all know, is a very rare thing).

    Good for beginners, good for experts. Buy this book.

    --

  91. Writing Solid Code by Mr.+Sketch · · Score: 2

    Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C Programs
    Steve Maguire
    ISBN: 1556155514
    Publisher: Microsoft Press

    Available on bn.com


    --BEGIN SIG BLOCK--
    I'd rather be trolling for goatse.cx.

  92. Code Complete by omibus · · Score: 2
    Code Complete by Steve McConnel (sp?)

    This is a must have for just about any computer programming library

    --
    Bad User. No biscuit!
  93. Applied Cryptography by byoon · · Score: 2

    I used to go down to our Public Library and check out Applied Cryptography every couple of months or so just to see how much more of it I could get. It recently turned up missing. Funny, the library staff claims it was stolen. I'll bet the FBI/NSA/SS stopped in and removed it.

  94. ANSI Common Lisp by mr_gerbik · · Score: 4

    "ANSI Common Lisp"
    Paul Graham
    ISBN: 0-13-370875-6

    Not only is just up to date when it comes to the ANSI standard for common Lisp, but it tackles many issues of learning functional programming. Good examples and lessons in recursion, macro writing and much more.

  95. Re:O'Reilly books by mz001b · · Score: 2
    Just buy all the books of the O'Reilly collection. With the exception of one or two black sheeps, they are all very good.

    But O'Reilly lacks on the theory side. I would recommend going to your local university bookstore and have a look around. (Here's a tip: if the bookcover is flashy, the book is already outdated. And here's another: avoid everything from Microsoft Press or written by Microsoft employees. They suck more than you can imagine.)

    I think that this is really an over generalization. I have heard nothing but praise about a book called 'Code Complete' by Steve C McConnell, which is published by Microsoft. While I don't agree with Microsoft's business practices and use Windows as little as possible, I think it is important to keep an open mind.

  96. Re:Design Patterns - the FIRST edition by RevAaron · · Score: 2

    I second that one! I interned at a Smalltalk shop and we had a copy of a that book. It was interesting to read, and it helped to see it in a couple real languages (Smalltalk, Common Lisp) and I do agree, alot is lost just seeing it all in C++. It just wasn't written with C++ in mind.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  97. Only need one... by Gorobei · · Score: 4

    The Structure And Interpretation of Computer Programs

  98. Fundamentals... by livetoad · · Score: 3

    TAOCP (Knuth) and SICP (Abelson, Sussman). Both are a must. They bear fruit even on several rereads. Fun stuff!

  99. Re:Let me guess - you are not a CS major? by Jagasian · · Score: 2

    Computer Science deals with computability and algorithm design and complexity. Hardware is nothing more than a specific application of Computer Science. Before our time, they used mechanical gears, during this era, we use semiconductors to build NOT/NAND/NOR gates, and in the future, some other specific implementation will be used - one that might not make use of boolean gates.

    However, the foundational concepts created by Church, Turing, Kleene, Post, etc, will always be useful, will always be applicable, and will always be enlightening. Therefore, such material belongs in any "computer" library.

    Algorithm "cook books" and books on algorithmic complexity are also useful, though they can and will date faster than the foundational concepts found in S.C. Kleene's Introduction to Metamathematics (*hint* YOU MUST BUY THIS BOOK *hint*). Intro to Metamathematics covers constructive logics, countability, decidability (Church, Turing, Kleene, Post), completeness, and more. Not only that, the book is written by the legendary mathematician and computer scientist, S.C. Kleene. Read his book, and you will be learning from one of the few grandfathers/grandmasters of computer science.

    While its always good to be open-minded and well-rounded, a few books on popular industry technologies are also a good thing to have in a library, but in small amounts. My advice is to build a good foundation first. The article asked for books that would last, books that would be read many years from now. Kleene's Introduction to Metamathematics is currently 50 years old, and the book is still read today! Why? Because the truth is always good to know.

  100. Books that will be read 100 years from now... by Jagasian · · Score: 3
    Books about programming in C, C++, Java? Ha! Those things will be outdated in under 50 years. If you want to really understand computation, computer science, and programming, give these classics a try:
    1. Re:Books that will be read 100 years from now... by duffbeer703 · · Score: 2

      Books about the fundamental building blocks of software and computing, hah! They will be outdated in less than 100 years!

      Learn about the fundamentals of Electronics!

      The Art of Electronics, Horowitz

      Basic Electronics, Grob

      Mechanisms and Mechanical Devices Sourcebook, Sclater & Chironis

      Unless you can build a computer from the transistors up, you have no business in computer science.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
  101. Kernighan and Ritchies's C Programming Language by SClitheroe · · Score: 5

    It's a slim, expensive tome, but absolutely indispensable. It's almost impossible to not come into contact with C, especially if you are an Open Source user. It's also practically a part of the geek heritage, both in the style in which it is written, and in the impact it has had on generations of coders. It is truly one of the underpinnings of a great part of Information Technology history.

    1. Re:Kernighan and Ritchies's C Programming Language by Captn+Pepe · · Score: 2
      Essentially this collection is the basics of how to build a computer system after the apocalypse.

      Okay, I can't resist --

      In that case, said post-apocalyptic peoples probably want to know how to build a computer, too. So throw in a good book on semiconductor design. What? They don't have fab plants? Okay, toss in some materials science and electrical engineering texts, and some general engineering texts if they want to know how to build the plant itself. They'll love you forever if you leave the parts to assemble a simple mill machine in a back room.

      Of course, if they're going to figure their way through semiconductors (or hell, even tube-based circuitry) they'll want a good E&M text, and probably something on quantum mechanics. Chances are, they won't have the math for this, so throw in math texts (calculus derived from number theory, basic real analysis, and abstract algebra seem like a good bare minimum set).

      'Course, maybe they can't even read those! (They were *actually* bombed into the stone age? Humans are extinct, and this library has been found by the descendents of the hyper-intelligent white lab mice?) So throw in a printed copy of some of those SETI transmissions, and you're all set. Oh, don't forget some good science fiction, so they'll know why they should go to the trouble of spending three generations chewing through this library. :-)


      --

      Quantum mechanics: the dreams that stuff is made of.
    2. Re:Kernighan and Ritchies's C Programming Language by connorbd · · Score: 2

      I haven't read Cuckoo's Egg (Cliff Stoll's late reputation as a minor nutjob tends to sour me on the idea), but you're right especially about Knuth -- it was sort of silly of me to ignore that. (I'd throw in MMIXware as well; if we want to build a chip in the future it'd be nice to see a cool RISC design with no holy war baggage.)

      /Brian

    3. Re:Kernighan and Ritchies's C Programming Language by connorbd · · Score: 4

      You're being a bit too domain-specific.

      Goedel, Escher, Bach -- Hofstadter

      For the theory.

      Code -- Charles Petzold

      Yes, I know he's the Programming Windows guy, but this is one of the best explanations of how a computer works that I've ever seen.

      The Lions Book

      This is how to write an OS. Similarly, Coriolis' Linux and Apache source commentaries.

      Win32 API Reference

      4.4BSD manual set

      Macintosh Human Interface Guidelines

      Kernighan and Pike

      Some of the basics of what a working system looks like. There might be a couple of others I'd throw in.

      Include a bound copy of the most important RFCs.

      Language references

      K&R C
      Stroustrup (3d edition)
      Common Lisp: The Language
      Programming Perl
      Python references
      Visual Basic Language Definition

      The Dragon Book (for compiler writers)

      Essentially this collection is the basics of how to build a computer system after the apocalypse.

      /Brian

    4. Re:Kernighan and Ritchies's C Programming Language by bluebomber · · Score: 2
      For C++, Bjarne Stroustrup's "The C++ Programming Language" is the essential reference.

      A couple of tomes from Microsoft Press are also valuable when it comes to thinking about the actual practices of writing code: Code Complete (Steve McConnell) and Writing Solid Code (Steve Maguire).

      Others have mentioned the Dragon Book (Aho et al), The Mythical Man Month (Brooks) and anything by Knuth.

      I would also recommend Programming Pearls (Chan, Bentley), The Psychology of Computer Programming (Weinberg), and for a taste of theory A Discipline of Programming (Dijkstra).

      Most of the above books are "older" and all have help up with time.

    5. Re:Kernighan and Ritchies's C Programming Language by OverCode@work · · Score: 2

      I completely agree. I started learning C in 6th grade, and it was a very slow process because I had almost no reference material, other than the (lousy) books that came with Turbo C++ and a couple of C library references. The K&R book is exactly the kind of no-bullshit book I was looking for.

      O'Reilly's _Learning Python_ would also have been very popular at my grade school's library if it had been around then. Basically anything to help kids get a solid, self-guided start in programming, without the boring structure of a computer class. I frequently talk to high schoolers online who want to learn more advanced programming but don't have any materials available to do so. One guy I know ended up writing a simple 3D engine in mIRC script of all things because he didn't know where to start with C.

      -John

    6. Re:Kernighan and Ritchies's C Programming Language by tb3 · · Score: 2

      Honestly, I started off with K & R, but I really didn't get C until I read "Advanced C: Tips and Techniques" by Paul and Gail Anderson. Pity it's out of print. Does anyone else remember it?

      --

      www.lucernesys.comHorizon: Calendar-based personal finance

    7. Re:Kernighan and Ritchies's C Programming Language by eep0ck · · Score: 2

      i learned C from k&r when i was 12. whenever i see other programming books nowadays, it makes me sick. they're so bloated. k&r is the ideal to which all programming books should aspire. it's concise and efficient, just as a C program should be, and it's good enough at teaching the subject material that even a 12-year-old can learn from it.

  102. Re:books by geekoid · · Score: 2

    I think the Dummies books would be a great selection for libraries. They are direct and to the point, great for a newbie reference. Most people who would look for a computer book at the library probably isn't in a tech field at this time and is looking for a place to get started. Of course the K&R would be good. people would feel more comfortable with the dummies book.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  103. Re:You'll want to buy histories rather than manual by geekoid · · Score: 2

    depends on the manual. any basic html book is still valid. K&R is still valid learning the Bash shell is still valid, I hae a copy of 'The Waites Group UNIX Primer Plus" which was printed in 1990! It gets passed around the office and has helped me on seceral UNIX flavors.
    Many people will also use the library to gain the knowledge they need in order to enter the high tech industry. Then they can afford to Buy the more advanced books. This can be a great asset it many poor'er communities.
    get a few of these books, then see if you can get the library to fund some sort of basic tutorial group for different subject as the demand requires.
    They won't have to do 'Office' software in the course because most (if not all) state sponsered employment agency have class's in office products.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  104. K&R by geekoid · · Score: 3

    get the K&R ansi C book.
    I would consider any book that deals with the core part of a language neccesary.
    Most O'Rielly books have a desent shelf life. I have a 5 year old html book which is still perfectly valid HTML, although not the latest.
    I wonder if you could get publishers to donate a copy of a book as it goes into a final press?
    Any book you can get I would imagine wold be good.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  105. Godel Escher Bach by abde · · Score: 5

    while it may not be an "applied" book, G.E.B. is an important text because it has a high-level description of concepts that scientists and engineers should make part of their worldview. Don't discount the importance of philosophy :)

    --
    Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
    1. Re:Godel Escher Bach by Globulatrix · · Score: 2

      But it isn't about anything!

  106. TCP/IP Illustrated, Volume 1 by mikeee · · Score: 2

    Everything you need to know to write your own TCP stack. Surprisingly useful in day-to-dayu work - a must-read IMO.

  107. Undergrad textbooks: Algorithms, H&P, Dragon, etc by Rimbo · · Score: 5

    I would recommend using the books that have become old standards over the years for teaching undergraduates, the "Bibles" of their respective fields:

    Aho, Sethi & Ullman's "Compilers: Principles, Techniques and Tools"

    Cormen, Leiserson & Rivest's "Introduction to Algorithms"

    Patterson & Hennessy, and Hennessy & Patterson.

    Lewis & Papadimitriou, "Elements of the theory of computation."

    Gamma, Helm, Johnson & Vissides, "Design Patterns."

    And "The Mythical Man Month."

    All of the above are about the fundamentals, the theories, and should be part of anyone's library who is serious about computers from a Computer Science perspective, IMHO. Some of them have survived basically unchanged for many, many years, without losing their relevance.

  108. Yet More Classics by Skald · · Score: 2
    It's tough to find books that are both accessible to a broad audience and likely to stand the test of time. Computer science has its seemingly timeless principles, but they (and the books which capture them) are mostly abstruse from the viewpoint of the common user.

    Here are some classics which I haven't seen posted yet:

    • The Unix Programming Environment by Brian W. Kernighan and Rob Pike
    • UNIX Network Programming (Vols. I & II) by W. Richard Stevens
    • Advanced Programming in the Unix Environment by W. Richard Stevens
    • The Elements of Programming Style by Brian W. Kernighan, P. J. Plauger
    • Design of the Unix Operating System by Marice J. Bach
    --

    "The best we can hope for concerning the people at large is that they be properly armed." - Alexander Hamilton

  109. Knuth by robman · · Score: 5

    The Art of Computer Programming by Donald Knuth is a must have.

    --
    "Perl 6 will give you the big knob." -Larry Wall
  110. Must Have by Lomby · · Score: 2

    In random order:

    These are the base books for every programmer, since they contain most of the algorithms used in CS:
    The Algorithm Design Manual, Skiena
    Algorithms + Data Structures = Programs, N.WirthAlgorithms, Sedgewich

    Some good design pattern:
    Design Patterns

    Some network too:
    Computer Networks, Tannenbaum (fun to read)
    TCP/IP Network Administrator, O'Reilly

    Logical Design and Benchmarking:
    Computer Design: A quantitative Approach
    The C Programming Language, K&R

    Some good advice on design/coding/debugging/documenting and all the rest:
    The Practice of programming, Kernigham
    Unix:
    The secrets of Unix

    And don't forget some O'Reilly In A Nutsheel:
    Perl/Java/HTML are a must have!

  111. Easy one! by ErikTheRed · · Score: 2

    Pretty much anything by Donald Knuth or Michael Abrash.

    I don't think I'd miss having The Road Ahead, though...

    --

    Help save the critically endangered Blue Iguana
  112. Long shelf life by fm6 · · Score: 2
    Hmm. How do you define "long shelf life"? You could argue that any book on Fortran programming qualifies, since Fortran is the oldest high-level language, and is still widely used. But this is technological inertia -- Fortran is really antiquated. I'd hate to inflict it on anybody that doesn't specially need to use it.

    Just because a particular technology has an old and active following, don't assume it has relevence to you. The important question is: is the technology alive? Does it have an engaged user community that is forcing it to evolve, as opposed to a cult of true believers who can't bear to move on? Fortran doesn't qualify. Lisp/Scheme/Logo, almost as venerable as Fortran, does much better -- if you're interested in the applications being built with it (mainly AI, but there are a lot of good basic computer science textbooks written around it). On the other extreme, Python has only been around for a short while, but already has a loyal user base and some serious applications -- clearly not a passing fad.

    Which brings up a secondary point. Don't waste money on books that are "important" but have no relevence to your readers interests. Do they want to hack out simple games, or study computer science? Do they want to write apps from scratch, or learn how to script existing applications? They probably want to build web sites, but do they want web sites that look nice (study Javascript, DHTML, etc.) or maintain a lot of content (study document management systems)? Every programming language is as much a community as a technology. Which communities do you want to be a part of?

    __

  113. Non-Reference Books by fwc · · Score: 2
    It appears everyone is going for "Reference" Books.

    Although I would highly recommend most of these, there are also a few non-reference books which I think people should consider:

    Fire in the Valley" Paul Freiberger, Michael Swaine - Basically the story of the early days of the personal computer. Talks about early days at Apple, Microsoft, etc. etc.

    The Soul of a New Machine Tracy Kidder - The story of a team of engineers at Data General who built a 32 bit minicomputer in one year.

    The Cuckoo's Egg Clifford Stoll - The story of how Stoll tracks a cracker through the maze of the phone system.

    Takedown - Tsutomu Shimomura - The story of the pursuit and capture of Mitnick. This is a good read. There's also one that I haven't read which tells Mitnick's story - perhaps someone else can point us toward that one.

    There is another I've read which talks about the Steve Jackson Games incident - and a lot of the other Secret Service activities in that era. Again, I can't provide a reference.

    --

  114. Suggestions by anubis__ · · Score: 2

    If they haven't already been suggested:

    "Design Patterns: Elements of Reusable Object-Oriented Software"
    by
    Erich Gamma
    Richard Helm
    Ralph Johnson
    John Vlissides
    (Addison-Wesley 1995 ISBN: 0-201-63361-2)

    -AND-
    "The Inmates Are Running the Asylum:
    Why high-tech products drive us crazy and how to restore the sanity"
    by
    Alan Cooper
    (SAMS, 1999)

    woohoo!

    --

    "After three days without programming, life becomes meaningless." - Tao of Programming
  115. End User Books by wasca · · Score: 2

    The average joe visiting a library needs application specific books rather than programming language manuals. For example... "Excel for Dummies", "Learn MS Word in 21 Days", "How to upgrade your PC!"... that kind of thing. Even though the name is insulting to some I've found the "for Dummies" books pretty useful in getting my dad up and running on his PC.

    --
    - wasca -
  116. Knuth & Aho, Sethi, & Ullman by maloi · · Score: 2
    Donald E. Knuth's _Art Of Computer Programming, Vols. 1-3_

    Aho, Sethi, and Ullman's _Compilers: Principles, Techniques, and Tools_

  117. free books by bcrowell · · Score: 2
    Basalisk's question is a little contradictory, because it asks for books that a library would want on its "shelves," but also asks for advice on making a collection that won't become obsolete quickly (will have a "long shelf life"). In other words, the assumption is that the books will be in dead tree format, and that dead tree format will not become obsolete for a long time. Computer books are the one big category of books where free information is making inroads, and where digital books are rapidly replacing dead-tree books. (Notice how software these days always seems to come with PDF documentation rather than a printed, bound manual?)

    Some of the books that people have already mentioned in their posts are actually available as free information. Examples: Philip and Alex's Guide to Web Publishing (suggested by the post I'm replying to), and Thinking in Java by Bruce Eckel. For a listing of a bunch of free-information computer science books, look here.


    The Assayer - free-information book reviews

  118. Gotta have a good hardware text... by duffbeer703 · · Score: 2

    How could you forget Patterson and Hennessy's Computer Organization & Design?

    Has a good history of computing and great discussion of hardware, logic and assembly language.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  119. Re:Based on what my local library has... by IvyMike · · Score: 2

    Ever heard of a concept called donating?

    I suspect that's how they got all those Apple II books in the first place.

    I use the books I own, and if I don't, it's because they're for an obsolete and worthless technology. (Want any MS Dos 3.0 programming books?) Donating them would be a disservice. In the rare case I have a still-useful book I'm no longer using, I give it to one of my younger cousins, which I guess is sort of greedy, but I know he will use it and it won't just sit on a shelf.

    I guess I have a stack of UML books I never use, my cousin has no interest in, and they aren't really obsolete. But once again, donating them to a library seems like a disservice.

  120. Based on what my local library has... by IvyMike · · Score: 3

    ...you should get lots of books on the Apple II and programming VGA graphics.

    1. Re:Based on what my local library has... by celerity02 · · Score: 2

      I work at my local regional library, and I keep a pretty close eye on what passes through the computer bookshelves.

      I've noticed the ones that seem to move the fastest are:
      -anything by O'Reilly. Especially their Linux and HTML books.
      -books like 'Red Hat 7.1 Bible' by Negus...books that introduce Linux but also go into more details too.
      -books that cover HTML 4.0 comprehensively
      -anything in the 'For Dummies' series. Some of them are pretty good, and they offer a pretty gentle intro to a lot of things.
      -Sam's "Teach Yourself..." series. Especially the ones on programming.
      -books on specific programs such as Dreamweaver, Photoshop, etc.
      -any up-to-date security book.

      Then again, I do work in one of Fairfax County, Northern VA's regional libraries, and they have an excellent collection of computer books, so I'm seeing people pick from what is almost the cream of the crop.

  121. ..and one to bind them.. by SubtleNuance · · Score: 2
  122. Understanding geeks, Weaving the Web by KjetilK · · Score: 2
    I agree!

    Also, it would be a good thing to include books that people can read to understand us. Hackers dictionary, the Hacker Ethic, etc.

    I would also recommend Weaving the Web by Tim Berners-Lee. It is not very well written, but it gives insight into some very brilliant ideas that have yet to be implemented, and makes you see how little of the web's real potential that has been realized.

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
  123. The Art of Ware by dstone · · Score: 2


    The Art of Ware: Sun Tzu's Classic Work Reinterpreted , by Bruce F. Webster

    Strategy and tactics of the software marketplace.
    First published 1995
    ISBN 1-55851-396-5

  124. Some other choices by sv0f · · Score: 2

    I tried to pick books that (1) no one has yet mentiond, (2) have stood and will stand the test of time, and (3) have some chance of being generally accessible.

    Frankly, I'm shocked by some of the schlocky faddish crap that other's have recommended. Maybe this just means I'm old.

    Jensen and Wirth's "Pascal: User Manual and Report" is a must for any library, general or University.

    David Harel's "Algorithmics: The Spirit of Computing" is an introduction to the heart of computer science for the smart high school student. Would change a few lives if present in more public libraries.

    Flake's "The Computational Beauty of Nature" is a good survey, for the smart high scool student or collegian, of the application of computing to modeling the natural world. Covers genetic algorithms, neural network, chaos, fractals, etc., in an introductory yet non-condescending manner.

    For the budding AI mind: Haugeland's "Mind Design" introduces the philosophical side. Minsky's "Society of Mind" is accesible to the lay reader. Hofstadter's "Metamagical Themas" and "Fluid Concepts and Creative Analogies" are similarly comprehensible. All of these books are tremendously stimulating to the novice and expert alike.

    (A personal plug: As a high school student I turned to AI after reading an early history of the field, McCorduck's "Machines Who Think", and a book by someone I now know to be a bit of a charlatan but who I still love: de Bono's "Mechanism of Mind")

    Simon's "Science of the Artificial is absolutely foundational to AI, computer science, and design.

    Paul Graham's "On Lisp". Presents those techniques that are effortless in Lisp and laborious in other languages. In the same vein, Kiczales et. al.'s "The Art of the Metaobject Protocol". (Okay, these are esoteric.)

  125. Re:IDG and O'Reilly by quintessent · · Score: 2

    Be careful, though. I don't know much about the others, but when I bought the "Unix for Dummies" quick reference book, I thought I'd be getting something similar to "Unix in a Nutshell." While it was cheaper, the quality and organization of information turned out to be quite poor compared to the O'Reilly.

  126. IDG and O'Reilly by mgkimsal2 · · Score: 2

    I would think some IDG "For Dummies" books would be generic and 'long lasting' enough to give good value to a library. Win 95, 98, 2000, Office, etc. Some basic things like that.

    For the more technical, some basic O'Reillys (camel and bat come to mind) would be nice. Probably at least one on VB. :)

  127. Web development by DreamingReal · · Score: 2
    Let me recommend a couple of books that relate to web development and user interfaces:
    • Designing Web Usability - Jakob Nielsen
    • Information Architecture for the World Wide Web - Louis Rosenfeld and Peter Morville
    • Web Pages That Suck: Learn Good Design by Looking at Bad Design - Vincent Flanders and Michael Willis
    • Philip and Alex's Guide to Web Publishing - Philip Greenspun
    Good usability design and testing are two things that still seems to get shortchanged by companies as being unimportant or extraneous. It is probably the most important thing a company can do with its website or product! All of these books are good but I would recommend Nielsen's most strongly. He has written the... ahem, "book" on usability.


    -------

    --
    We want some answers and all that we get
    Some kind of shit about a terrorist threat

    - Ministry
  128. The C++ Programming Language by Mnemia · · Score: 4

    This is one programming book that has stood the test of time... Bjarne Strousrup.

  129. Zen and the Art of Motorcycle Maintenance by riedquat · · Score: 2

    By Robert M Pirsig. Our computer hardware lecturer made it one of his course texts.

  130. You'll want to buy histories rather than manuals by hillct · · Score: 5

    The first inclination of /. readers will be to suggest manuals, or more generalized reference works such as are published by O'Reilly & Associates. This is an extremely bad idea. These works not only have a short shelf life, but are also of a nature which is not conducive to use in a library, in that people who refer to them will want to do so continually, and at a moments notice, rather than saying 'Gee. I have this problem with the syntax of this Perl function. Let me go to the library and check out the camel book', users will want to own such works durring the time in their lives when they are actively pursuing the subjects those works would relate to.

    Instead, you should concentrate on aquiring for the library's collection, books which cover a broader scope of aspects of computer science and the history of computing. This would include such books as 'Alan Turing: The Enigma'.

    --CTH

    --

    --Got Lists? | Top 95 Star Wars Line
  131. Silicon Snake Oil by DeadMeat+(TM) · · Score: 2

    Without a doubt, Silicon Snake Oil by Cliff Stoll is more important than any other computer book budding programmers can read. If you can take Stoll's heavy dose of cynicism, it's an excellent reflecion about what we're doing wrong with computers. Stoll really pushes programmers to ask themselves the question that should come first, but is rarely considered at all, in system design: "Does this really help people, or is it just another way to take away their productivity?"

  132. My Top 10 by geekplus · · Score: 2

    10. Visual Basic For Dummies
    9. Learn HTML in 21 Days
    8. Learn Perl in 4 Days
    7. 7 Minute Abs
    6. Practical Programming for the PDP-11
    5. Advanced Programming with the Windows Task Scheduler
    4. xClock for xPerts
    3. t0p 100 l33t 5c41pts
    2. Customized Quake Maps in 5 Minutes!

    and destined to be a timeless classic...

    1. Microsoft Terminology for Microsoft Certified Certifiers of Microsoft Certification Seeking Professionals

  133. Applied Cryptography by geekplus · · Score: 3
    by Bruce Schneier (sp?)

    This is becoming the end-all, be-all textbook on cryptography (both composing and cracking message) in the wild.

    One of its more valuable contributions is the fact that it sets down a common language for various cryptographic terms and practices we all sorta know about, but can't really bring clearly into a conversation. Having the common vocabulary that Bruce brings to security is as powerful as the common language that the Gang of Four book brought to object-oriented design.

  134. How about something on Microsoft? by dasunt · · Score: 2

    No, no, don't mod me as a troll yet, hear me out...

    Unfortunately, for a lot of us, we will find ourselves in environments with windows machines. If you need to interact with Windows, it might be better not to seem like a dumb monkey randomly clicking things. Yes, linux is superior in a lot of ways, but if you learn more about windows, you'd probably be surprized at what you can do.

    Also, I'd recommend a book on PC repair, a book on computer hardware, and a nice book on electronics. They come in handy sometimes.

  135. Re:101 ways to... by bahtama · · Score: 2
    OK, now that is kinda funny. Considering the question that was put to Slashdot readers was "What books won't you give up on your tech-library?" Besides, is that proper English ya reckon? Not that Slashdot is known for that anyways. Of course neither am I, but I digress.

    This story is ripe for some goat type answers. But I think a couple basic books on computers and operating systems are a must. Probably multiple copies as well. Also, the Dummies book are good for non-technical people, they give a dumbed down broad overview.

    =-=-=-=-=

    --

    =-=-=-=-=-=-=-=-=
    Oh bother.

  136. Security by imipak · · Score: 2
    Network Intrusion Detection (Novak, Northcutt) (New Riders)

    Practical Unix and Internet Security: Garfinkel & Spafford (O'Reilly)

    Web Security and Commerce: Garfinkel & Spafford (O'Reilly again)

    lots more at the isscc.org site: check their reading list.
    --

  137. Can't go wrong with O'Reilly by baptiste · · Score: 3
    If you're looking for system admin book or language references, you generally can't go wrong with O'Reilly books - Perl, Java, etc and sys amdin books on RedHat, Sendmail, DNS, Essential Sys Admin, etc.

    Also, for Visual Basic, the Microsoft Refernece library for VB is quite extensive and well written, combine that with the VB Programmers guide

  138. Sexe for Dummies by AdamInParadise · · Score: 2

    I recommends "Sexe for Dummies" and "Food for Dummies". I'm not kidding. Both are really good and I guess that geeks like us could make a good use of them. And they are in a the familiar format we all love!

    --
    Nobox: Only simple products.
  139. The classic in it's field! by Proud+Geek · · Score: 2
    DOS for Dummies

    The quintessential tome for computer beginners, and a historical reference, too boot.

    --

    Even Slashdot wants to hide some things

  140. A large sign "Don't believe everything in books" by Zeinfeld · · Score: 2
    In a field like computer science why are we all recomending books almost twenty years old?

    A lot of folk recomend Knuth, how many people actually use it for more than a reference? The biggest problem with TAOCP is that it is asurvey work that is now twenty odd years out of date. Lots of stuff has been developed since. The other is that the algorithms are presented in pseudo-machine code.

    Don is a great guy, but he has been promising volume 4 since before I started grad school twelve years ago. If people are still using TAOCP as a guide to computer algorithms has it become a liability rather than a benefit? Would people read the litterature for newer and better techniques if they did not always go to TAOCP?

    Equally, the dragon book is somewhat questionable. yacc is a great tool for writing LR(1) parsers, only problem is that Chomsky's model of human grammars are not the best plan for computer languages. Back in the 80s we thought this stuff was wonderful, now it seems more like a backwards step.

    One book I can recommend without reservation is the Handbook of Applied Cryptography by Menzes, van Orschot et. al. This is the academic equivalent of Bruce Schneir's excellently readable but somewhat unreliable Applied Cryptography.

    Secret's and lies would qualify for being in the library but for the ridiculous claim that Bruce only just realized that security was about risk control. He showed no surprize when I mentioned that to him three years ago, and he certainly does not credit me with the discovery (which of course I am not). But he is certainly right that it is a good spin to sell books 'I have found the alchemists stone'.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  141. The New Testament by Braudo · · Score: 2

    No computer book collection will be complete without The New Testament.

  142. Re:O'Reilly books by MSBob · · Score: 2

    Steve Maguire "Writing Solid Code". Timeless. From Microsoft Press.

    --
    Your pizza just the way you ought to have it.
  143. Re:This will get troll marking but... by MSBob · · Score: 2

    No. They are awful. Every one of them. The ones I've read included C++ for Dummies, Corba for dummies (yes it does exist) and Java for Dummies. They were so bad it's not funny. Speaking of funny I found the kind of humour they used pretty obnoxious and distracting in general. I learned NOTHING from those books. Instead I picked up Effective C++ (Addison-Wesley), Advanced Corba Programming in C++ (Addison-Wesley) and The Java Programming Language (Sun Press) and was all set. It's better to go with tried and true. Dummies books are rags.

    --
    Your pizza just the way you ought to have it.
  144. Re:Code Complete by poisoneleven · · Score: 2

    Code complete is definately a recommended book for EVERY programmers library. it's by the M$ Press, but goes over very good concepts and ideas. I recommend it to everyone I meet who programs. If you haven't read it, you should.

  145. From my experiences by number+one+duck · · Score: 2

    Advanced books are important, but not as important as some of the earlier stuff. Speaking from experience, its very frustrating at that age just before you can afford to buy what you want, when looking for a reference. You should at least have something for html, javascript, vb, everything that the relatively young might start with on account of them being somewhat accessable (*especially* javascript and html, since it doesn't require any expensive compilers or other setup).

    Anything college-level or above (advanced data structures, networking, yada yada) can *almost* be ignored... they cater for the most part to a group of people that are already well off enough that they aren't likely to choose the public library as their source of reference. My list:

    The O'Reilly HTML book (Atlantic Book Warehouse in Salisbury, MD still has a whole sale table full of lots of these).
    Javascript for the World Wide Web.
    * for dummies, where * is a programming language.
    A few random linux books with cd's (random helps keep us from homogenizing, of course), so long as people don't steal the cd's... sigh.

  146. Categories & Suggestions by TargetBoy · · Score: 3

    Suggestions:
    "The C Programming Language"
    "The C++ Programming Language"
    "Programming Perl"/"Learning Perl"
    "Design Patterns: Elements of Reusable Object-Oriented Software"
    "Data Model Patterns: Conventions of Thought"
    "Designing Web Usability"

    Categories:
    A book on Discrete Mathematics
    A book on set theory
    A book on cryptographic theory
    A book on problem solving ("How To Solve it" is a good example)
    A book on the design and analysis of algoritms

    Somewhat OT:
    A machine with a CD-RW drive and links to www.linuxiso.org, promo.net/pg/ (project guttenburg), and similar sites. Let people BYOB (Bring Your Own Blanks) and let them burn CDs for stuff that is FREELY available on the net. Sell blank discs at cost+handling, like libraries do with other supplies.

  147. Re:O'Reilly's Sendmail book! by agdv · · Score: 2

    If you were stuck on a desert island, this is the best choice. Not only does it cover Sendmail, but it is large enough to be used as a deadly weapon!

    That's the last thing we need. As soon as some kid in the library uses it to take out a dozen other kids, politicians will start trying to get computer books banned.

  148. Mythical Man Month -2nd Ed. by jeffphil · · Score: 2

    Mythical Man Month has been posted, but for some of the oldtimers out there who read this many years ago - there is a 2nd Ed. [1995] that came out for the 20 year anniversary. Reading it again.

  149. Every bookshelf needs... by AnonymousComrade · · Score: 2

    ...Knuth. And Wall. But stay away from the Gates.

  150. Theory, Architecture, Mathematics, and Logic by Nalfein · · Score: 2

    The basics? Here are a few I still use to today. They're certainly not a total covering of CS, or Computing for that matter, but they cover some important basic CS.

    Theory:
    * "Languages and Machines: An Introduction to the Theory of Computer Science", Sudkamp, T. A.

    Introduces the basic concepts of languages and computing, relating the two using formal languages and state machines. Complete and clear.

    * "Computers and Intractability: A Guide to the Theory of NP-Completeness", Garey, M. R., Johnson, D. S.

    This one is a classic. Covers the NP(-Complete,-Hard,...) theories, problems ("what is a problem", examples), much more.

    Architecture:
    * "Structured Computer Organization", Tannenbaum, A. S.

    Covers the design of a common-day (err 1980-1990) computer from the ground up.
    Might be a bit dated, but still good stuff.

    Mathematics:
    * "Discrete Mathematical Structures for Computer Science", Prather, R. E.

    A must for understanding logic and proofs.

    Logic:
    * "Digital Logic and State Machine Design", Comer, D. J.

    Want to design, implement and test computer hardware? Please read this; Good stuff.

    --
    -- Brian