UNIX Philosophy (Scratchpad)
This page is a personal scratchpad.
Unix開発者によってまとめられてきましたが、以下は1994年、マイク・ガンカーズによってまとめられたもののうち、制作ツール開発に直接関係しそうなものの抜粋です。
- 定理1:スモール・イズ・ビューティフル
- 小さなプログラムは分かりやすい
- 小さなプログラムは保守しやすい
- 小さなプログラムはシステムリソースにやさしい
- 小さなプログラムは他のツールと組み合わせやすい
- Orthogonality
巨大で複雑なプログラムの開発者は、「将来が予想可能で、そして現在とそう大きくは変わらない」という勝手な思い込みを前提としている。(P.22)
- 定理2:一つのプログラムには一つのことをうまくやらせる
- 新しい仕事をするために、新しい「機能」を追加して古いプログラムを複雑にするのではなく、新しいプログラムを構築する。(W)
- 定理3:できるだけ早く試作を完成する
- 定理4:効率より移植性
- 定理9:すべてのプログラムをフィルタにする
- すべてのプログラムの出力が、まだ見ぬべつのプログラムになることを期待する。出力に余計な情報を入れない
- さらなるUNIXの考え方
- 小定理1 好みに応じて自分で環境を調整できるようにする
アプリケーションに十分な柔軟性があれば、ユーザーはそのアプリケーションをできるだけ使いやすくしようと、その方法を学ぶことに時間をかける。そして、自分で調整した環境に馴染めば馴染むほど、調整が難しかったり出来なかったりする環境には移りたがらない。(中略)最初は、あまりの柔軟性にユーザーはとまどい、選択肢の多さに圧倒されるかもしれない。しかし、最後には、多くのオプションを利用するほうを選び、その学習に時間をかける。
- 小定理7: 部分の総和は全体より大きい
- 小定理8 90%の解を目指す
- 小定理9 階層的に考える
- この小定理に関しては、baku89.icon的に異論あり。https://scrapbox.io/shokai/階層整理型WiKiはスケールしない が近い
- 小定理1 好みに応じて自分で環境を調整できるようにする

