The Unix Philosophy - A Summary
comments powered by
- Rule of Modularity: Write simple parts connected by clean
- Rule of Clarity: Clarity is better than cleverness.
- Rule of Composition: Design programs to be connected to other
- Rule of Separation: Separate policy from mechanism; separate
interfaces from engines.
- Rule of Simplicity: Design for simplicity; add complexity only
where you must.
- Rule of Parsimony: Write a big program only when it is clear by
demonstration that nothing else will do.
- Rule of Transparency: Design for visibility to make inspection
and debugging easier.
- Rule of Robustness: Robustness is the child of transparency and
- Rule of Representation: Fold knowledge into data so program
logic can be stupid and robust.
- Rule of Least Surprise: In interface design, always do the least
- Rule of Silence: When a program has nothing surprising to say,
it should say nothing.
- Rule of Repair: When you must fail, fail noisily and as soon as
- Rule of Economy: Programmer time is expensive; conserve it in
preference to machine time.
- Rule of Generation: Avoid hand-hacking; write programs to write
programs when you can.
- Rule of Optimization: Prototype before polishing. Get it working
before you optimize it.
- Rule of Diversity: Distrust all claims for “one true way”.
- Rule of Extensibility: Design for the future, because it will be
here sooner than you think.