Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The art of Unix programming
Raymond E., Pearson Education, 2003. 512 pp. Type: Book (9780131429017)
Date Reviewed: Sep 25 2003

Raymond is often described as the unofficial spokesperson of the Open Source community. In his new book, he successfully tackles a much grander task: that of articulating and explaining the guiding design, implementation, and social principles behind the success, adaptability, and durability of the Unix operating system. Although the word programming appears in the book’s title, Raymond covers a wider and deeper ground.

The first part of the book explains the Unix development context by outlining the most important positive features of Unix, and the 17 guiding elements of the Unix philosophy. These elements prescribe the structure of systems following the Unix way (modularity, composition, separation, diversity, and extensibility), their behavior (clarity, simplicity, parsimony, silence, transparency, robustness, repair, and least surprise), and the approach to building them (economy, generation, representation, and distrust for optimization). The first part ends with two chapters that provide a historical overview of Unix, and an instructive comparison of Unix with other systems.

In the book’s next two parts, “Design” and “Implementation,” the author manages to distill the accumulated wisdom of programming following the Unix philosophy into concrete principles, such as the use of text-based protocols, the utilization of domain-specific minilanguages, the structure of user interfaces, the choice of programming languages, and the use of tools. Each principle is illustrated by numerous case studies (a dozen, in the case of minilanguages), and is accompanied by prescriptive guidelines for applying the principle in practice. Importantly, the author is never shy in identifying a particular technology as a dead end, advising us to steer away from it. Many chapters can be read as mini surveys and concise tutorials for the techniques they discuss.

Raymond uses the idea of open-source software as a unifying principle behind this book. He argues that Unix began its history as an effectively open-source system (AT&T, being restrained from selling it, distributed Unix along with its source code to universities and research institutes for only a nominal fee). He also argues that Unix’s current popularity and versatility stem, again, from open source systems such as GNU/Linux and FreeBSD. The book’s last part, “Community,” explores this aspect in depth, by examining the elements around which the Unix community is built. Here, Raymond discusses portability (providing an excellent roadmap of the, typically obtuse and contradicting, Unix-related standardization efforts), documentation (giving solid advice for choosing and using the appropriate documentation format), and open source (offering guidelines for contributing, developing, and distributing open source software). A final chapter, “Futures: Dangers and Opportunities,” discusses the problems facing Unix, with respect to its design, environment, and culture, presenting the challenges in the road ahead.

As many readers already know by experience, Raymond’s writing is fluid, free from unnecessary technical jargon, and remarkably perceptive. All these qualities make this book a joy to read, and a valuable contribution to the Unix community.

Reviewer:  D. Spinellis Review #: CR128294 (0312-1313)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Unix (D.4.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Unix": Date
UNIX network programming
Stevens W., Prentice-Hall, Inc., Upper Saddle River, NJ, 1990. Type: Book (9780139498763)
Dec 1 1991
UNIX systems: advanced administration and management handbook
Hunter B., Bradford-Hunter K., Macmillan Publishing Co., Inc., Indianapolis, IN, 1991. Type: Book (9780023589508)
Feb 1 1992
UNIX system security
Farrow R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1991. Type: Book (9780201570304)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy