The Unix Philosophy
The power of Unix derives from some amazingly simple principles.
- Be hardware-independent, abstract out everything. Everything is a file,
even hardware devices.This approach leads to portability and interoperability
- Don't build large monolithic applications. Build small, efficient tools
and put them together to build what you want.
- Keep interoperability in mind when designing tools. No tool should have
to know about
another. Wherever relevant, tools will take their input from "standard input"
and send their output to "standard output". Tools can work together when
one's standard output is connected to another's standard input. Neither of
them need even know that they are connected!
- Applications must work in a multi-user environment.
- Applications must work over a network.
Mike Gancarz, the author of The Unix Philosophy, has this to say about
what it really is all about:
- Small is beautiful
- Make each program do one thing well
- Build a prototype as soon as possible
- Choose portability over efficiency
- Store numerical data in flat ASCII files
- Use software leverage to your advantage
- Use shell scripts to increase leverage and portability
- Avoid captive user interfaces
- Make every program a filter
He also talks about 10 lesser tenets:
- Allow the user to tailor the environment
- Make Operating Systems kernels small and lightweight
- Use lower case and keep it short
- Save trees
- Silence is golden
- Think parallel
- The sum of the parts is greater than the whole
- Look for the 90 percent solution
- Worse is better
- Think hierarchically
I'll recommend the book to anyone who wants to know what Unix really
stands for. In fact, I'll recommend it even more strongly to those who
hate Unix because of its cryptic and "unfriendly" syntax. They'll come away
with a lot more respect for this venerable OS.
The Unix Philosophy, Mike Gancarz, Digital Press, 1995
This page hosted by
Get your own Free Home Page