On Mon, Jun 27, 2011 at 11:36:17PM -0400, Jim Capp spake thus:
Warren,
*snip*
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."
*snip*
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."
*snip*
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.
-Al