OSの先駆的な開発者たちの経験に基づいている。UNIXの四半世紀[編集]パイプの発明者でありUNIX創始者の一人でもあるマキルロイは、この哲学を以下のように要約した。これがUNIXの哲学である。一つのことを行い、またそれをうまくやるプログラムを書け。協調して動くプログラムを書け。標準入出力(テキスト・ストリーム)を扱うプログラムを書け。標準入出力は普遍的インターフェースなのだ。ダグラス・マキルロイ、UNIXの四半世紀この哲学はしばしば、「一つのことを、うまくやれ」とさらに厳格に要約される。3つの教義のうち第3のものだけがUNIX特有であるが、UNIXの開発者はしばしば3つの教義すべてを他の開発者よりも重要視する。これは直接にはUNIX哲学ではない。強い結びつきのあるC言語についての記述ではあるが。[1]の中で、以下のようなルールをプログラミングの格言として提案している。これはまたUNIX哲学のポイントとも共通点がある。プログラムがどこで時間を消費することになるか知ることはできない。ボトルネックは驚くべき箇所で起こるものである。したがって、どこがボトルネックなのかをはっきりさせるまでは、推測を行ったり、スピードハックをしてはならない。計測するまでは速度のための調整をしてはならない。コードの一部が残りを圧倒しないのであれば、なおさらである。n}はしばしば小さい。凝ったアルゴリズムは大きな定数を持っている。n}が大きくなるときでさえ、ルール2が最初に適用される)。凝ったアルゴリズムはシンプルなそれよりバグを含みやすく、実装するのも難しい。シンプルなアルゴリズムとシンプルなデータ構造を使うべし。データはすべてを決定づける。正しいデータ構造を選び、ものごとをうまく構成すれば、アルゴリズムはほとんどいつも自明のものになるだろう。プログラミングの中心は、アルゴリズムではなくデータ構造にある。ルール6は存在しない。(情報工学)#最適化する時期も参照)。force)を使え」と言い換えている。ルール3と4はデザイン哲学KISSの例である。ルール5はフレッド・ブルックスが以前に「人月の神話」の中で述べている。同じデザイン原則について述べた章を含んでいる。ルール5はしばしば「スマートなデータを使うつまらないコードを書け」と短縮され、また「データ構造が十分に良いものなら、それを扱うアルゴリズムは平凡であるべきだ」というガイドラインの実例でもある。ルール6はモンティ・パイソンの「ブルース・スケッチ」を愉快に参照しているだけのものだ。Cの文字列では最後の1バイトがヌル文字であり、したがってその文字列の長さを示すことになる。System開発チームの一員)は、UNIXで得た経験と、同僚プログラマーやUNIXに依存する他分野の人々との議論を活かし、以下の9つの至上命令に集約される「UNIX哲学」を創出した。各プログラムが一つのことをうまくやるようにせよ。できる限り早く原型(プロトタイプ)を作れ。効率よりも移植しやすさを選べ。単純なテキストファイルにデータを格納せよ。ソフトウェアを梃子(てこ)として利用せよ。効率と移植性を高めるためにシェルスクリプトを利用せよ。拘束的なユーザーインターフェースは作るな。全てのプログラムはフィルタとして振る舞うようにせよ。Filter.以下の重要性が相対的に低い教義は、UNIX哲学の一部として普遍的に合意されるものではなく、場合によっては現在も激しく議論されているものである(例えばモノリシックカーネルとマイクロカーネルのように)。ユーザが環境を設定できるようにせよ。OSのカーネルは小さく軽量にせよ。小文字の短い名前を使え。