良いシステム


構成が直観的なものが良いシステムである. 自然な発想どおりに動作するシステムが良いシステムだ. 「コレがこう動くなら, こうすればああなるに違いない」 とおもっていじくったら, 確かにそうなるように作ってある. マニュアルは最小限見ればいい. これが良いシステムのひとつの条件だ. だが, これが全てではない.

人の抱く直観はかならずしもあてにならないし, それが解決しようとする問題に適切なアプローチであるとは 限らない. そのような例は, 数学の歴史を見れば山積みに見出すことができる. 直観を指針にすることが出来ない場合は, システムを導く指針は論理である. したがって, 論理的に構成されたシステムは良いシステムである. かならずしも直観に即している場合ばかりではないので, 最初に修行しないといけないことが多いが, その修行は永遠に続くわけではない. なぜなら, 論理的なシステムというのは, 必要最小限の構成要素を組み合わせて作られているからである. それらの構成要素と, 組み合わせの決まりを憶えることが 修行となる. 重要なのは, このテの修行は憶えただけではダメで, 自分で実際に組合せを作ってみなければダメなのである. 数学の勉強を考えれば自明であろう.

良いシステムは, 上記 2つの条件のどちらかにあてはまる. 両方にあてはまるものが最高のシステムである. すなわち, 直観が通用する範囲では直観に従って動作し, 論理に則らねばならない局面では論理的に動作するものが, 最高に良いシステムである.

だめなシステムは, 直観に反して動作したり, 非論理的な動作をするシステムである. すなわち, バグっていて動かないとか, 思った通りに動かないとか, 憶えなきゃいけないことが大量にあるとか, そういうのはダメである. 直観に反していれば, そこは憶えないといけないし, 非論理的な構造になっていれば, それだけ憶えることが増える. 全般的にいって, 憶えることが増える程, ダメなシステムであると言えよう.

そうそう, もうひとつ大事なことを忘れていたよ. みかけのかっこ良さが大切だよ. どんなに直観に素直で論理的に構成されていても, カッコワルイ画面はあらゆるダメである.

それで言えば, 今の Linux はひかえめに言っても「まあまあ」だね. 画面は最高にカッコイイけどな. 憶える事が多すぎるよ. inetd とか tcpd とか ucspi-tcp とか ipchains とか socks とか delegate とか, それから apache は別に自前でアクセス制限があったり, こんなもんを人に教えることを考えただけで発狂じゃ.

憶えるべきことが少ないという点で, emacs は最高に優れている. tutorial を通してやれば, あとは info と M-x describe-hoge だけ知っていればいい. 憶えるに値し, 使って楽しく, しかも役に立つ (こともある :)

コーヒー

エスプレッソメーカーの中に入れる, 下に管が伸びてる豆載せるザルみたいのが 無くなって使えなくなっていたので, 新しいのを妻がフランスで買って来た. 蛇口が 2つ出ている奴だ. 2つ出ているので 茶碗を 2つ載せてみた. 片方から大量に出て, 片方からはちょろっとしか出ない. つまり, 2杯分作ると, 茶碗からあふれるのである. 何のために 2つ出口が付いておるのか, 全然理解不能である. ダメだこりゃ. しかし, 形が可愛いからよしとしよう. それとも, 均等に出るようにするコツでもあるのかねえ.

これはその後, 出すぎる出口をスプーンなんかでフタをして 均等に出るように調節することにした. なんじゃそら.

あと, チーズとソーセージも大量に買って来てくれた. これは今週末の宴会で使う予定だ. むっひっひ. フランスは牛乳がスゲエうまいので, 必然的にチーズもスゲエうまいのである.

とかアホなことを言ってたら, よく考えたら, ちょうど来週が LC2000 じゃねえかよ. まじですか. うぎゃー. むー. 発表の練習もせねば.


過去の落書きリスト