In particular, the concept of the Uniform Resource Locator URL so central to the Web is a generalization of the Unix idea of one uniform file namespace everywhere.
To see this, compare the expressiveness and explanatory power of a diagram of say a fifty-node pointer tree with a flowchart of a fifty-line program. The objective of designing for transparency and discoverability should also encourage simple interfaces that can easily be manipulated by other programs — in particular, test and monitoring harnesses and debugging scripts.
Going by the historical trend curve in number of Unix sites during that period, probably somewhere upwards of fifty million man-years have been plowed into Unix development worldwide.
This one won't. Software-engineering texts recommend most of them; but most other operating systems lack the right tools and traditions to turn them into practice, so most programmers can't apply them with any consistency.
Unix users can choose among multiple shells. Even from within the Unix world, Unix has seemed to be teetering on the brink of universality for so long as to raise the suspicion that it will never actually get there. How to Use This Book This book is both practical and philosophical.
Rule of Least Surprise: In interface design, always do the least surprising thing. I think that the terseness of Unix programs is a central feature of the style.
Outsiders have frequently dismissed Unix as an academic toy or a hacker's sandbox.
If you are not a programmer, or you are a programmer who has had little contact with the Unix world, this may seem strange.
Today people build entire, production-quality open-source Unix systems as a hobby.
Another way is to separate your application into cooperating front-end and back-end processes communicating through a specialized application protocol over sockets; we discuss this kind of design in Chapter 5 and Chapter 7.