ハッカーと画家 - Hackers and Painters

言わずと知れたLispプログラミングの達人且つベンチャー企業の創業者であるPaul Grahamのエッセイをいくつか読んだ。

ハッカーと画家 コンピュータ時代の創造者たち
Paul Graham 川合 史朗

オーム社 2005-01
売り上げランキング : 1,373
おすすめ平均

Amazonで詳しく見る
by G-Tools
読んだといっても、上記の書籍はここフィリピンでは手に入らないので、Practical Scheme(訳者のホームページ)に公開されている邦訳を参照させてもらった。基本的にはここで公開されているエッセイをまとめたものが書籍になっているだけなので、同じものだと考えてよい。

彼のエッセイは、どれも面白いのだが、今回は特にハッカーと画家及びものづくりのセンスについて紹介したい。

ハッカーと画家では、タイトル通りハッカーと画家(もしくは、作曲家や建築家)との類似点、共通点について書かれている。

例えば、画家が美術館で先人の技法を盗むのと同じく、ハッカーUNIXソースコードから、プログラムとはななんぞやということを学んできた。また、絵画はスケッチから始まり、徐々に細部を完成させていくが、プログラミングにおいても同じことが言える。つまりは、最初から完全なものを作ろうとすると失敗するとというのである。

その他、ハッカーと画家との様々な共通点を、具体的事例に即して説明しているが、著者が結論として言いたかったのは、絵画の栄光の時代が、それがこの世に現れてから何百年もの歳月を経った後に訪れるのと同じく、よいプログラム(もしくはよいハッカー)が日の目を見るのも、何世代も後なってからだということである。

彼のこのエッセイは、現在では「根暗」とか「オタク」といったマイナスイメージで括られている「ハッカー」達に対するエールであり、彼等のやっていることはとてもクールなんだということを、社会に知らしめるためにも、重要な意味を持つものとなるだろう。

また、このエッセイの中ではさほど重要なファクターを占めてはいないが、ソースコード中のコメント表記について、なるほどと思った一文を引用させてもらう。

プログラムを読みやすくする方法は、コメントを詰め込まないようにすることだ。私は、アーベルソンとサスマンの言葉をさらに進める。プログラミング言語アルゴリズムを表現するために設計されるべきで、それがたまたま、コンピュータにとって実行できる形式になるにすぎない。良いプログラミング言語は英語よりもうまくソフトウェアを説明することができるべきだ。コメントは、読者が特に気を付けなければならないある種のツギハギを警告するためだけに必要なはずだ。ちょうど、道路で突然の急カーブを警告するためだけに矢印の標識が用いられるように。
今まで、よいプログラムとは、メンテナンスがしやすいように、多くのコメントがあるものだと認識していたが、彼に言わせると、すばらしいプログラムとはソースコードを読むだけで容易に理解できる書き方をしているものを指すというのである。(しばし自己を省みる・・・)

次に、ものつくりのセンスについて。彼は、「ハッカーと画家」の中でもデザインの重要性について、しばしば言及している。それは、プログラムというものが絵画や建築物、クラシック音楽と同様の「芸術作品」であるという前提に即してのものだ。では、良いデザインとは何ぞや?という疑問に答えるのが、このエッセイの本題だ。

彼はまず、「センス」というものが、人それぞれの違った価値観に即しているものではなく、万人が認めうる絶対的なものが存在すると仮定している。

センスは単なる個人の好みだと子供のあなたにくどくど教え込んだ後で、大人はあなたを美術館に連れてゆき、レオナルド・ダ・ヴィンチは偉大な芸術家だからしっかり見ておきなさいなんて言うんだ。このとき子供の頭にはどんな考えが浮かぶのだろう。「偉大な芸術家」ってどんな意味だと思うだろう。人には人それぞれのやり方があるって何百回も言われた後では、偉大な芸術家は他の人より良い仕事をする人だ、という結論にはなかなかたどり着けない。
だとすると、そのセンスはどのようにしたら、身につくのか。この疑問に対する彼の解は、「「良いデザイン」と言われるものを作ること」にある。さまざまな分野において美の概念は多くの共通項を持つのと同じく、「良いデザイン」に関しても、同じ原則が何度もでてくる。その原則とは、
良いデザインは単純である
良いデザインは永遠である
良いデザインは正しい問題を解決する
良いデザインは想像力を喚起する
良いデザインはしばしばちょっと滑稽だ
良いデザインをするのは難しい
良いデザインは簡単に見える
良いデザインは対称性を使う
良いデザインは自然に似る
良いデザインは再デザインだ
良いデザインは模倣する
良いデザインはしばしば奇妙だ
良いデザインは集団で生起する
良いデザインはしばしば大胆だ
などだ。これらに対する説明は、どれもなるほどと思うものばかりで、一読に値する。良いデザインを作ることを心がけ、切磋琢磨すれば、おのずと良いセンスが身につくという理論が少しは理解できるだろう。

ハッカーと画家が同じ人種だというトリッキーな仮定から展開される彼の様々な提言は、一見するとただのIT擁護論だと思われるかもしれない。しかし、ITバブル崩壊後の世の中を、誰よりも冷静に観察している彼の主張は、世の中に溢れる「なんちゃって技術者」に対する、ある種の警笛を含んだメタファーとして役割を担っているように、私には感じられた。

Practical Scheme
http://www.shiro.dreamhost.com/scheme/index-j.html

ハッカーと画家 ---Hackers and Painters---
http://www.shiro.dreamhost.com/scheme/trans/hp-j.html

ものつくりのセンス ---Taste for Makers---
http://www.shiro.dreamhost.com/scheme/trans/taste-j.html

, ,