The Unix philosophy emphasizes building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to monolithic design.
- Write programs that do one thing and do it well.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface.
„Everything was small… and my heart sinks for Linux when I see the size of it. […]
The manual page, which really used to be a manual page, is now a small volume, with a thousand options…
We used to sit around in the Unix Room saying, ‚What can we throw out? Why is there this option?‘
It’s often because there is some deficiency in the basic design — you didn’t really hit the right design point.
Instead of adding an option, think about what was forcing you to add that option.“