[TUHS] Ideas for a Unix paper I'm writing

Alan D. Salewski salewski at att.net
Mon Aug 8 06:26:48 AEST 2011

On Mon, Jun 27, 2011 at 11:36:17PM -0400, Jim Capp spake thus:
> Warren,

> I'm sure you've read these at one time or another, but here are a few of my favorites. Some of them might help you chase down the quotes you are looking for:
> Excerpt from UNIX Time-Sharing System: UNIX Implementation, By K. Thompson, The Bell System Technical Journal, Vol. 57, No. 6, July-August 1978, pp. 1931:
> "The kernel is the only UNIX code that cannot be substituted by a user to his own liking.  For this reason, the kernel should make as few real decisions as possible.  This does not mean to allow the user a million options to do the same thing.  Rather, it means to allow only one way to do one thing, but have that way be the least-common divisor of all the options that might have been provided."

> Excerpt from The UNIX Programming Environment, By Brian W. Kernighan & Rob Pike, Prentice-Hall 1984, pp. viii:
> "Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well.  Instead, what makes it effective is an approach to programming, a philosophy of using the computer.  Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.  Many UNIX programs do quite trivial tasks in isolation, but, combined with other programs, become general and useful tools."
> Cheers,
> Jim

I think those quotes segue nicely to highlighting the importance of the
underlying philosophy that is the foundation for the examples of
technological insight, pragmatic design, and engineering excellence
catalogued thus far. Greg Lehey already provided the link to the
Wikipedia "Unix philosophy" page; I think a quote from one of the items
referenced there really gets to the heart of things:

>From _The UNIX Philosopy_, by Mike Gancarz, Digital Press 1995, pp.  xvii:

    "The creators of the UNIX operating system started with a radical
    concept: They assumed that the users of their software would be
    computer literate from the start. The entire UNIX philosophy
    revolves around the idea that the user knows what he is doing."

All tool design branches in one direction or the other on this point;
Unix gets it right.


More information about the TUHS mailing list