2009年7月22日水曜日

完璧とは

7 時過ぎに起床。珈琲、オレンジジュース、トースト、ベーコンエッグ、バナナの朝食のあと、 すぐに出勤。 8 時半くらいに出社。今日は今にも雨が降り出しそうで降らない、 湿度も気温も高い曇り空。 午前、午後とお仕事。昼食はビル一階のお弁当。 昨日も体調が悪かったし、今日もそれほど良いとは思えなかったのだが、 何故か朝から絶好調で、(自分にしては)猛烈な勢いでプログラミングする。 週末までにテストできればいいかなあ、と思っていたところを、 午後の早い時間には完了。しかし、テスト結果はよろしからず。 16 時過ぎに退社。外は小雨。 目の前の空気から雨が滲み出ているみたいな雨。 帰宅して、エアコンをつけて、すぐにお風呂に入る。 夕食は、豆腐とオクラの胡麻ドレッシングサラダ、生麩の田楽、ギネスビール。 食後に小さなチーズケーキと、珈琲。 夜は数学など、少し。

ルイス・キャロルの発案した暗号についての文章を読んでいると、 どうも数学的センスに欠けるな、と思うところがある。 基本的なアイデアはよいのだが、 そのあと、複雑にするためにこういう手続きを加える、 またこういう手続きを加えてもよい、と、 どんどんシステムがアドホックに汚なく複雑になっていくのだ。 現代的なセキュリティ設計の立場とは、全く逆向きの発想と言えよう。 大抵の数学者は、 「完璧とは、これ以上つけ足すものがないことではなくて、 これ以上削るところのないことだ」、 というサン・テグジュペリの言葉に共感するものだ。 とは言え、暗号もそうだが、ソフトウェアはそれを使う人が価値を決めるので、 サン・テグジュペリ流は全く通じない、ということもある。 ソフトウェアの売り上げを増やす最も効果的な方法は 「新機能の追加」だとよく言われる。 本当はむしろない方が良いくらいの機能でも、追加されていると人々は喜ぶ。 それに、どんな機能でも削ると、誰かが文句を言う。 「新ヴァージョンでは、あの機能がなくなりました! あの馬鹿げた機能も、あの無意味な機能も! 新アウト○ックは超シンプル、メイルが読めて出せるだけ!」 という宣伝に魅力を感じる消費者は、残念ながら、あまりいないし、 ましてや、お金を出して買い替えてくれるとも思えない。