Best Computer Programming Books of 2001

Chosen by amazon.com's Programming Editors,
Rich Dragan and Brooke Gilbert
All descriptions courtesy of amazon.com

The first three books also appear in the top 10 of amazon.com's computer/internet books best-seller list for 2001. For the complete list, click here.
  1. Design Patterns. By Erich Gamma et al.
    Design Patterns is based on the idea that there are only so many design problems in computer programming. This book identifies some common program-design problems--such as adapting the interface of one object to that of another object or notifying an object of a change in another object's state--and explains the best ways (not always the obvious ways) that the authors know to solve them.
  2. Programming Perl (3rd Edition). By Larry Wall.
    Larry Wall wrote Perl and he wrote Programming Perl. Better yet, he writes amusingly and well--all of which comes across in this latest edition of the definitive guide to the language. Like Topsy, Perl just grew, and as a result the need for a third edition came about. It's now over 1,000 pages, which it needs to be, as it performs several different duties. First, it's an introduction to the Perl language for those who are new to programming; also, it's a guide for those who are coming from other languages; and, finally, it's a Perl language reference.
  3. Core Servlets and JavaServer Pages. By Marty Hall.
    Aimed at those with some previous Java experience, Core Servlets and JavaServer Pages covers all you need to know to create effective Web applications using server-side Java. Combining plenty of practical advice with detailed information on these APIs, this book provides both the necessary background on Web programming and guidance on using Java effectively to power your Web site.
  4. UML Distilled: A Brief Guide to the Standard Object Modeling Language. By Martin Fowler.
    The second edition of Martin Fowler's bestselling UML Distilled provides updates to the Unified Modeling Language (UML) without changing its basic formula for success. It is still arguably the best resource for quick, no-nonsense explanations of using UML. The major strength of UML Distilled is its short, concise presentation of the essentials of UML and where it fits within today's software development process.
  5. Thinking in Java. By Bruce Eckel.
    Perfect for migrating to Java from a fellow object-oriented language (such as C++), the second edition of Thinking in Java continues the earlier version's thoughtful approach to learning Java inside and out, while also bringing it up to speed with some of the latest in Java 2 features. This massive tutorial covers many of the nooks and crannies of the language, which is of great value in the programming world.