Unix哲学是一套基于Unix操作系统顶级开发者们的经验提出的软件开发的准则和哲学。
UNIX 哲学由 Doug McIlroy 在1978年的《Bell System Technical Journal 》中发表:
道格拉斯·麦克罗伊是Unix系统上管道机制的发明者,也是Unix文化的缔造者之一。他归纳的Unix哲学如下:
程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。
更加简化的版本是:做一件事,做好它。虽然只有第三条是特指Unix系统的,但Unix开发者们常常同时强调这三个信条。
罗勃·派克在他的《Notes on Programming in C (页面存档备份,存于互联网档案馆)》中提到了以下格言。虽然这些规则是关于程序设计的,但作为Unix哲学丝毫不为过:
Pike的第一、二条规则重申了高德纳的著名格言:“过早的优化是一切罪恶的根源。” Pike的第三、四条规则被肯·汤普逊改述成:“疑惑不定之时最适合穷举。”事实上,这两条规则也是KISS原则的具体表现。规则五在之前Fred Brooks的人月神话中也被提及。Jon Bentley(英语:Jon Bentley)的《Programming Pearls(英语:Programming Pearls)》中也有一章阐述了相同的设计哲学。此规则作为“如果你的数据结构很好,那么控制它的算法就无关痛痒了”的例子常常被简化成“简约地写代码,聪明地用数据”。第六条规则当然只是Pike针对蒙提·派森之小品Bruces sketch(英语:Bruces sketch)的幽默发挥而已了。
1994年,X窗口系统开发组的成员Mike Gancarz根据他自己的Unix系统经验以及和其他领域使用Unix系统的资深程序员们的讨论结果,写成了,提出了9条训格之言:
此外还有十条原则则并不为所有人认同,甚至还是争论的焦点(如宏内核和微内核之争):
Richard P. Gabriel(英语:Richard P. Gabriel) 提议Unix的一个关键优势是他称作“糟糕的更好”的设计哲学。在“糟糕的更好”的设计风格下,接口和实现的简单性比系统的任何其他属性都更重要,包括准确性、一致性和完整性。Gabriel主张这种设计风格拥有关键的进化优势,尽管他也怀疑一些结果的质量。