UNIXという考え方

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

UNIXという考え方とはどういうことか。

それは次のような考え方をすること。

1.スモール・イズ・ビューティフル
2.一つのプログラムには一つのことをうまくやらせる
3.できるだけ早く試作する
4.効率より移植性を優先する
5.数値データはASCIIフラットファイルに保存する
6.ソフトウェアを梃子として使う
7.シェルスクリプトによって梃子の効果と移植性を高める
8.過度の対話的インタフェースを避ける
9.すべてのプログラムをフィルタとして設計する

UNIXはこういう考えの元で作られている。

読んでみて

1と2

余計な機能を付けずに小さく簡潔に作るということ。これはUNIXに限らずよく言われることなので意識している。

3

リーンスタートアップにも出てきた、最初から大きく作ると修正するのが大変だったりできなかったりするから最低限動くものを作って試してみるということ。これはアジャイル開発も同じような考え。こまめに出すということが出来ればそれに越したことはないはず。

4

速度や性能 < 移植性。移植性がないとハードが変わった時にそこで終わる。効率が良いものは移植性が無い。最近は性能と可読性を天秤にかけてる。わかりづらくても速くするか遅くてもわかりやすいようにするか。速度を求められる事じゃない限り可読性がよくなるように作ってる。

5

「動かないデータは死んだデータだ」

6と7

なんでもかんでも自分で作るのではなく、すでにあるものを使うことで何倍も効率がよくなる。

8

対話するとユーザを拘束しちゃうよ、効率が悪くなるよ。

9

すべてのプログラムは何かを入力して何かを吐き出すもの。


全部を通して150ページほどしかなくさらっと読むことが出来た。UNIXは使ったことがないけれど不親切な作りになっているんだなと思った。自分はこういうシンプルな方が好きだ。親切に何でもかんでもやってあげると、それ以外に出来なくなったりして自由度がなくなってしまうよね。どっちにも良さがあるから難しい。これまでもこれからもどっちがいいか迷ってく気がする。