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?

35 of 509 comments (clear)

  1. 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...

    --
  2. 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.

  3. 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...

  4. 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

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

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

  8. 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.
  9. 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.

  10. 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.

  11. 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

  12. 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
  13. 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

  14. 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.

  15. 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

  16. 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.
  17. 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++.

  18. 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.

    --

  19. 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.

  20. Only need one... by Gorobei · · Score: 4

    The Structure And Interpretation of Computer Programs

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

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

  22. 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:
  23. 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 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

  24. 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
  25. 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
  26. 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.

  27. 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
  28. 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.

  29. The C++ Programming Language by Mnemia · · Score: 4

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

  30. 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
  31. 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.

  32. 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

  33. 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.