|
UNIXの哲学
UNIX [1] には9つの定理、設計の哲学がある。
- スモール・イズ・ビューティフル
- 一つのプログラムには一つのことをうまくやらせる
- できるだけ早く試作を作成する
- 効率より移植性
- 数値データはASCIIフラットファイルに保存する
- ソフトウェアの挺子を有効に活用する
- シェルスクリプトを使うことで挺子の効果と移植性を高める
- 過度の対話的インタフェースを避ける
- すべてのプログラムをフィルタにする
基本となる思想は「小さいものは美しい」「効率よりも移植性を重視」「Not Invented Here Syndrome 」。3つ目の Not Invented Here Syndrome とはすべての技術/ソフトウェアを自前で用意しようとする考え方になってしまう病気(症候群)のことである。UNIX ではこの Not Invented Here Syndrome を拒否し、他所の技術を積極的に利用する精神があるのだ。
UNIX では複雑な仕事を単純な、小さなプログラムを組み合わせることで成し遂げるのである。OS としてもまた、複雑なプログラムを可能なかぎり単純なプログラムとして分解して協調させて全体を構築しているのである。
UNIX の設計思想は、どのようなソフトウェア開発においても適用される。アプリケーションの設計で迷ったときにおおいに役立つ哲学だ。
余談だが、僕はいまウェブサーバーのアクセスログを解析するプログラムを書いていることもあって、計算量の多さから効率性に悩んでいた。だけどこの UNIX の定理にうなずき、実行時間を速くすることは一度頭から追い出して「できるだけ早く試作を作成する」に注力しようと思う。
関連ページ
- UNIX哲学 - Wikipedia http://ja.wikipedia.org/wiki/UNIX%E5%93%B2%E5%AD%A6
| [1] | UNIX は The Open Group の商標です。 |
スポンサード リンク
