今日は、あるプロジェクトの失敗例に学ぶという趣旨の社内イベントがありました。
発表の内容自体は、まぁ、アレだったんですが、顧問がおっしゃった言葉が、非常に良かったです。
一言で言うと、「KISS」。
概念としては知っていても、それをどのように実際生かしていくか? というのは全く別のことだったりして。数々のプロジェクトに携わってきた顧問の言葉というので本当に実感しました。いやー、ほんとすごい人だと思いました。さすが、マルスの人です。


しかし、私はSEとしてKISSを実感しつつも、ここでミステリに我田引水。
一見、ミステリはKISSからは遠く離れたもののように思えます。
ーー入り組んだ人間関係、複雑怪奇なトリック、絡まったロジック。
シンプルなものは、簡単に見破られて終わるんじゃないか? だから、どんどんと複雑に……これが、ミステリの一般的な認識です。
特に、ロジック。
これがシンプルであった場合には、馬鹿でもわかる、子供だまし、これらの言葉で片づけられてしまうのが現状です。
確かに、簡単なロジックが単体であれば、その言葉は的はずれではないかもしれません。
が、それはKISSの原則に則ったUNIXLINUXのコマンド群でもそうです。
それぞれは単純なひとつの機能しか持ちません。CUIで使用するコマンドは、それだけではあまり便利ではないものばかりです。しかし、コマンドが本領を発揮するのは、それらを組み合わせたときであるのは、言うまでもありません。パイプとリダイレクトを使いこなして、初めてCUIの良さがわかる、といわれるのも納得できます。
これと同じことが、ミステリーー特にロジックにも言えると思うのです。
ひとつひとつの手がかりから導き出される推理は単純で小さなものかもしれませんが、それを正しい順序でうまく組み合わせることで、複雑な解を解き明かしていけるのではないでしょうか?
そして、この最も良い例が、クイーンの国名シリーズだと思います。
例えばオランダ靴。ひとつめの事件に残されたいくつかの手がかり。それぞれから導かれるのは単純な事実だけ。しかし、それを組み合わせることで、範囲は絞られます。
二つめの事件。すべては出そろい、エラリィと読者は犯人を指摘できるに至ります。
最初の事件では、まったく難解に思えた事件も、丁寧に推論を組み合わせることによって、見事に解き明かされるのです。
この、KISSを守って行けば、ミステリでも良いのができるのでは、と思います。


ところで、Windowsのコマンドが微妙に使いにくいのは、このKISSの原則が貫かれていないから、というのがあると思います。
例えば、ディレクトリの中のファイルを一覧で出力させる場合。
Windowsだとdir、UNIX,LINUXはlsというコマンドを使います。
ええと、Windows使っている方は、ちょっとコマンドプロンプトを開いてdir入力してみてください。
ーー結果、表示されました?
ディレクトリの中のファイル一覧を見たいだけなのに、なんだかいろいろと余計な表示がありませんか?
ちなみに、Mac OS X(UNIX系)での表示結果は次の通りです。

yukine:~ kotohito$ ls
Desktop Library Music Public
Documents Movies Pictures Sites
yukine:~ kotohito$

1行目は、yukineというホストで、kotohitoというユーザが自分のホームディレクトリでlsを入力した、という行です。2行目3行目がコマンドの結果です。
Windowsでのdirコマンドの結果と比べてみれば、一目瞭然。
ファイルが必要なのに、ディスク使用量だとか、そういうのは必要ない、そんなのいれるな、ばかばか〜ホント、バカばっか、というのが重要なんですよ、きっと。
……だからですね、Linuxでシェルを作るのとWindowsでバッチを作るののどちらが難しいか? といわれれば、間違いなくWinバッチだと思うのです。
だって、欲しい機能だけを持っているコマンドというのをうまく見つけないとだめなわけですから。だいたいが変なことをついでにしているわけですよ。
それにしても、Windowsのフォルダ構造って哀れじゃないですか?
あの、system32を見るたびに、哀しくなるのはどうしてですか?
それほどまでに32bitで動くようになったのが嬉しかったんでしょうか?
もしかしたら、64bit対応版はsystem64とかいうフォルダになってるんでしょうか?
……ぷ。
かあいいなぁ、□◇ク○ソ△×。

[Today's tune]アパシーズ・ラスト・ナイト/ART-SCHOOL