Unix Philosophy
wikipedia (opens in a new tab)
quotes:
- Build modular (opens in a new tab) programs
- Write readable programs
- Use composition
- Separate mechanisms from policy (opens in a new tab)
- Write simple programs
- Write small programs
- Write transparent programs
- Write robust programs
- Make data complicated when required, not the program
- Build on potential users' expected knowledge
- Avoid unnecessary output
- Write programs which fail in a way that is easy to diagnose
- Value developer time over machine time
- Write abstract programs that generate code (opens in a new tab) instead of writing code by hand
- Prototype (opens in a new tab) software before polishing it
- Write flexible and open programs
- Make the program and protocols extensible.
- Small is beautiful.
- Make each program do one thing well.
- Build a prototype as soon as possible.
- Choose portability over efficiency.
- Store data in flat text files (opens in a new tab).
- Use software leverage to your advantage.
- Use shell scripts (opens in a new tab) to increase leverage and portability.
- Avoid captive user interfaces.
- _Make every program a filter (opens in a new tab)._