先日、プログラム上では理想が築ける気がするのでついつい手を加えつづけてしまうという話を書きましたが、そうはいってもやはり納得のいくまできっちりと作り上げないと気がすみません。特に、お客様に製品として納品する場合はなおさらです。
ある一つの機能を実現させるためには、たくさんの方法が存在します。とりあえず動けばいいというプログラムから、向こう何年間、機能を徐々に追加変更していきながら使い続けられるシステムまで千差万別です。そして、できる限り後者のような、いつまでも世に残るようなものを作りたいものです。その場限りで使い捨てられてしまうようなものを次々と作るのは虚しいものです。
と、いうようなことを考えているときちょうど友人に素晴らしい記事を教えてもらいました。Paul Grahamという方のコラムの翻訳です。
http://www.shiro.dreamhost.com/scheme/trans/taste-j.html
少し長いですが、内容は「良いデザインとは」といったことから始まり、芸術論、工業デザイン、科学、そしてプログラミングと多岐にわたる美についてが幅広い知識と共に語られています。いくつか印象的なものを引用してみます。
「誰かが自分よりうまい方法を 見付けるだろうと思っているくらいなら、その方法を自分で見付けなくちゃ。
最も偉大な人々はこの方法を突き詰めたおかげで、後から来る人が改善する余地がほとんどないものを作り上げた。デュラー以降の版画家は彼の影の中で生きることを強いられるのだ。」
「野性の動物が美しいのは、彼らが困難な生を生きているからだ。」
「科学や工学では、いくつかの偉大な発見はあまりにも単純に見えて、「これなら自分でも思い付いたよ」と言いたくなることがある。発見者はこう言うだろう。「じゃあ君が思い付けば良かったじゃないか。」」
「良いデザインは自然に似る。自然に似ているからとにかく良い、というのではなく、自然は問題を解くのに非常に長い時間をかけてきたから、参考にする価値がある。あなたの解が自然の解に似ていたら、それは良いしるしだ。」
「仕事を捨てるのには自信が必要だ。「ここまで出来たのなら、もっと出来るはずだ。」こう考えることができなくちゃならない。例えば絵を描き始めたばかりの人は、うまく描けなかった部分をやり直したがらない。ここまで出来たのはラッキーだった、これ以上何かやったら悪くしてしまうかもしれない、そう思ってしまうのだ。やり直す代わりに、そんなに悪くないじゃないか、多分こう描くのが良かったんだと、人は自分を納得させてしまう。」
「良いデザインは模倣する。模倣に対する態度はしばしば一巡する。初心者は知らず知らずの うちに模倣する。そのうち、彼は意識的に独自性を出そうとする。最後に、独自性よりも正しくあることがより重要だと気づく。気づかずに模倣することは、ほぼ間違い無く悪いデザインをもたらす。どこから自分のアイディ アが来たのか知らない場合、 たぶんあなたは模倣者の模倣をしている。」
「最も偉大な作り手達は、ある種の滅私状態に達するのではないかと私は思う。彼らは正しい答えを知りたいだけなのだ。そしてもし、答えの一部が誰かによって発見されていたのなら、それを利用しない手はない。誰かの仕事を借りても自分のビジョンは曇らないという十分な自信があるのだ。」
「実際問題としては、美を想像するよりは醜に目をやる方が簡単だと思う。美しいものを作った人々の多くは、彼らが醜いと思ったところを直していったのだと思える。誰かが何かを見てこう考える:「俺ならもっとうまくできる」。これが偉大な仕事の発端なのだろう。」
「醜いものを許せないだけでは十分ではない。どこを直せば良いのか知る嗅覚を得るためには、その分野を十分に理解していなければならない。しっかり勉強しなくちゃならないんだ。だがその分野で熟練者となれば、内なる声が囁き出すだろう。「なんてハックだ!もっと良い方法があるはずだ」。この声を無視してはいけない。それを追求するんだ。厳しい味覚と、それを満足させる能力。それが偉大な仕事のためのレシビだ。」
どうです?ちょっと長くなってしまいましたが、ぜひ一度皆さんも読んでみてください。