Philosophy
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 "Worse is better" 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 
References
Last updated