Philosophy
Last updated
Last updated
The philosophy behind UNIX:
Write programs that do one thing and do it well
Write programs to work together (no extra output, don't insist on interactive input)
Write programs to handle text streams, because that is a universal interface
UNIX also embraced the philosophy.
This thinking is powerful. On a higher level, you can see it a lot in functional programming: build atomic functions that focus on one thing, no extra output, and then compose them together to do complicated things; all functions in the composition are pure; no global variables to keep track of.
Perhaps as a direct result, the design of UNIX focuses on two major components:
Processes
Files