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?
- 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...--
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.
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.
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.
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
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.
The Art of Computer Programming by Donald Knuth is a must have.
"Perl 6 will give you the big knob." -Larry Wall
OS/2 Warp for Dummies
Netscape Time : The Making of the Billion-Dollar Start-Up That Took on Microsoft
Enterprise Development Using Microsoft Visual Basic 6.0
Geeks (By Jon Katz)
Rationale: it's best to learn from your mistakes.
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