TPOP principle 3.64 UNIX哲学9 - フィルタ化
第3章
principle 3.64 UNIX哲学9 - フィルタ化
ソフトウェアはフィルタである
- データを生成するのは人間
- データにフィルタをかけて別の出力を表示するのがコンピュータ
- 故に、まず入力ストリームと出力ストリームに着目し、そのフィルタリングとして設計を考えればよい
- UNIXではstdin, stdout, stderrをインターフェースとしてソフトウェア同士をコネクタブルにしている
UNIX哲学・小定理
環境カスタマイズ
- 最初の学習コストが高くても、ある程度学べばユーザがチューニングできるようになる方が長く使われるソフトウェアになる
-
- カーネルにアプリケーションを組み込んだら、そのアプリケーションを保守する人がいなくなる
小文字使用
- 小文字で短く、目に優しくする
- ソート時に大文字が目立つ
森林保護
- ドキュメントは電子化されていなければフィルタリング出来ない
沈黙は金
- 必要な情報が無駄な情報に埋もれてはならない
- エラーなどには基本的に沈黙し、成功したときだけ有益な出力を返す
並列思考
- 部品コラボレーション
90パーセント解
- 90パーセントを効率的に処理することを保証し、10パーセントはユーザに任せる
- 10パーセントの、時間のかかる処理や、プログラミングしにくい処理を故意に無視する
劣るが勝る
- 単一の巨大なソフトウェアよりも、小さい劣ったソフトウェアの最大公約数で勝負する
階層指向
- 階層構造アーキテクチャ
- 各々の階層構造で成功実績を収める
- プロセスツリー
- Xウィンドウシステム
- ネットワークサービス