UNIX哲学
UNIXというOSを作るときに見いだされた実践的な教訓の集まり
「これがUNIX哲学である」というように厳密に規定されているものではない
それぞれの時代のUNIX開発の関係者、あるいは主要なコミッターの言葉が引用されることが多い
例えば有名なものはパイプの発明者でありUNIX創始者の一人でもあるマキルロイは以下のように語っている
これがUNIXの哲学である。
一つのことを行い、またそれをうまくやるプログラムを書け。
協調して動くプログラムを書け。
標準入出力(テキスト・ストリーム)を扱うプログラムを書け。標準入出力は普遍的インターフェースなのだ。
(ダグラス・マキルロイ、UNIXの四半世紀)
一方で普遍的なプログラムの作り方の模範であるかという点についてはしばしば議論されるところ。
特にUNIX哲学はUNIXを作る上で見いだされたものなので、「すべてのプログラムにそれが言えるか?」というところは実のところそうではない
「一つのことをうまくやるプログラムを作る」という観点は、構築されたコードを簡素に保ち、理解しやすい状態を維持するという点で有用であると考えられる
一方で、「標準入出力(STDIO)を扱うプログラムを書け」というのはUNIXであることやCUIであることに密に結合している観点であるので「全てに」適用できるかというとそうではないと言える
課されている要件に対して、最適な設計を、適切に行えることがエンジニアリングであると考える
なにごとも盲目的に実践するのではなく、適切に評価しながらいい点を取り入れていこうとする姿勢が必要。