For many people, the Unix Philosophy is captured by the aphorism, “Programs should do one thing well.” That’s an important part of the Unix philosophy but the actual philosophy is much richer and more subtle. Actually, there’s no formal philosophy but rather it comprises a series of zen-like mandates contributed by several people over a series of years.
The other day I wrote about an excerpt from Eric Raymond’s The Art of Unix Programming that discussed Unix history. Today, I want to mention another section from that book that discusses the basics of the Unix philosophy. It’s a really excellent distillation of the wisdom gained by the early Unix developers. It’s still important today because it points to ways to write simpler, more robust programs—ideas that are needed more than ever in today’s environment.
Esr abstracts 17 rules from the writings and practices of the Unix elders. If you’re writing software, I urge you to spend 10 minutes reading the section from esr’s book. If you take its lessons to heart, you will write better, more easily maintained programs.