ESR: the UNIX Philosophy

Snippet from: The Art of Unix Programming

  • Rule of Modularity : Write simple parts connected by clean interfaces.
  • Rule of Clarity : Clarity is better than cleverness.
  • Rule of Composition : Design programs to be connected to other programs.
  • 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 simplicity.
  • 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 surprising thing.
  • 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 possible.
  • 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 the "one true way".
  • Rule of Extensibility : Design for the future, because it will be here sooner than you think.

Last Updated: 2024-04-19


Tags