A Look Back: Expert's Choice of Must-Have Books by William Stallings
This article was originally published in the Winter 1995 issue of Addison-Wesley's newsletter, Innovations.
William Stallings is the author of more than a dozen books, including Business Data Communications and Computer Organization and Architecture. Back in 1995, we asked Bill to list his top choices for technical books. Here are his selections from back then, and his updated annotations from 2009 [in italics].
- On Human Communication, Third Edition, by Colin Cherry (MIT Press, 1978)
My favorite technical book. This is an amazingly broad book, covering characteristics of human speech, signs and language, statistical communication theory, information theory, logic, and cognition. I think that any technically minded person should read this book.
 This remains my favorite technical book - a real pleasure to read.
- Introduction to Algorithms, by Cormen, Leiserson, and Rivest (MIT Press, 1990)
This is the best book of its kind. In over 1,000 pages, it covers a wide range of algorithms, providing lucid explanations and complete pseudo code.
 Still the winner in this category! Now in a second edition (2003).
- Interconnections: Bridges and Routers, by Radia Perlman (Addison-Wesley, 1992)
One of the clearest and most enjoyable technical books I have ever seen. Good explanations and a solid reference book.
 A good book, but dated. I would drop this from my list. [Editor's Note: A second edition (copyright 1999) is available.]
- Applied Cryptography, by Bruce Schneier (Wiley, 1994)
An encyclopedic treatment of a large and diverse subject. The author provides clear, concise explanations, plenty of references to the literature (there are over 900 references at the end of the book), and excellent organization of the material.
 This book is also somewhat dated - the latest edition is 1996. Still, it is comprehensive in terms of cryptographic algorithms up to the date and a good book to have as a reference.
- Gigabit Networking, by Craig Partridge (Addison-Wesley, 1994)
A clear and interesting treatment of a hot new topic.
 Very dated - no longer on my list.
- The Art of Probability, by Richard Hamming (Addison-Wesley, 1991)
I have read or browsed a lot of books on probability over the years, and this is my favorite. It is readable, provides lots of intuitive explanations, and yet is rigorous. A pleasure to read. Sadly, this book is out of print.
 But I still highly recommend it - worth tracking down.
- Data Network Design, by Darren Spohn (McGraw-Hill, 1993)
This is a good reference book. It covers a lot of network types and protocols, providing solid explanations and detailed technical descriptions.
 Very dated, plus there are a lot of books on this subject. This one doesn’t stand out. No longer on my list.
- The Art of Computer Programming, Volumes 1-3, by Donald Knuth (Addison-Wesley)
Everyone in the computer field should have these books on his or her shelf. A tremendous amount of material is covered. Some of the topics are difficult, but Knuth does a good job of presenting the material.
 Still a mandatory part of every computer scientist’s library. [Editor's Note: Fascicles 0-4 of Volume 4 of The Art of Computer Programming are now available.]
 I would add to the list two math books that I have found interesting. You probably wouldn’t read either one cover to cover, but they both have a lot of useful information and both are a pleasure to read.
- The Pleasures of Counting, by T. W. Korner. Cambridge University Press, 1993.
This book is full of practical examples for the use of algorithms, touching on such diverse subjects as the outbreak of cholera in Victorian Soho, the Battle of the Atlantic, and the design of anchors. Good fun if you like math.
- Mathematics: From the Birth of Numbers, by Jan Gullberg. Norton, 1997.
This historical survey is fascinating. It is loaded with problems (with solutions), lots of illustrations, and covers an immense array of subjects.