"The Unix philosophy is a set of cultural norms and philosophical approaches to developing software based on the experience of leading developers of the Unix operating system."
, from Wikipedia.
Some important aspects:
- It is more than simply best practices
- everything is a file
- "Make each program do one thing well." (Doug McIlroy?)
- small, sharp and interconnected tools
- mechanism, not policy
- avoid premature optimization
- build prototypes
- rule of silence
- "Data dominates", Rob Pike
- "When in doubt, use brute force", Ken Thompson
- KISS: "it's LOC spent, not produced", Edsger W. Dijkstra
(mostly from "The Art of Unix Programming", Eric S. Raymond)