コンピュータ・サイエンスにおける才能とは何 か、ということを考えるためには、具体的にコ ンピュータ・サイエンスにどのような天才がい るかを尋ねてみればよい。 コンピュータ・サイエンスの天才を一人あげよ、 と尋ねれば、人それぞれに様々な名前が返って くるだろう。例えば、Knuthという名前が返っ てくるかもしれない。スタンフォード大学の教 授であるKnuthは、Fundamental Algorithmsと いうアリゴリズムに関する大百科事典を著し、 しかも、その出版を完全なものとするために 「TeX」と呼ばれる電子出版システムを開発し、 さらに、TeXを実現するために、ドキュメント とプログラムを混在して記述するための「WEB」 という言語を設計した人である。また、最近盛 んに研究が行なわている「項の書換え系」の分 野の基本技術であるKnuth-Bendixの完備化と呼 ばれる方法を編み出した人でもある。また、 GOTO文論争では、Dijkstraの向こうを張って、 GOTO文擁護派として「structured programming with goto」を提唱した。 しかし、はっきりいって、Knuthは、コンピュ ータ・サイエンティストとしてはセンス・ゼロ、 要するに馬鹿である。それは、あのTeXという 処理系を見ればわかる。いったい、世の中に、 毎日TeXで泣かされ続けている人は何人いるの だろうか。あんなふざけた処理系で、これほど 多くの人に使われているものは他にはない。あ んなもの、学生が演習で作ってきたら、不可に なるに決っている。とにかく機能だけを追及し た処理系である。使い難い処理系がどれほど世 の中の人的なリソースを無駄にするかというこ とが、丸で分かっていないのである。将来、 TeXは、現在のFORTRANのような存在になっ て、世の中に害毒を流し続けるであろう。 また、Wirthという人がいる。いうまでもなく、 WirthはPascalとModula-2の設計者だ。Pascal は教育用の言語としては非常にすぐれたもので ある。また、Modula-2はモジュラー・プログラ ミングの考え方を一般のプログラマに流布する のに大いに役立った。しかし、Wirthはコンピュ ータ・サイエンスの天才とはいえない。なぜな ら、PascalやModula-2には色気が感じられない のである。つまり、真面目過ぎて面白くないの である。そのくせ、泥臭いというわけでもない。 つまり、徹底的に実用的になろうとしているわ けでもない。まとめると、馬鹿ではないが、 「ださい」わりには中身がないといえよう。 コンピュータ・サイエンスの天才といわれると、 僕は、Steeleという名をすぐに頭に思い浮かべ てしまう。Guy Steele Jr.は、既にハーバード大 学の学生のときに、並列ガーベッジ・コレクシ ョンでACMの論文賞を獲得して世界的に有名と なった。MITの大学院においては、Sussmanと ともにLispの新しい方言であるSchemeを開発 した。また、ハッカーズ・ディクショナリの編 者としても有名である。 僕は、Schemeの開発こそ、コンピュータ・サ イエンスの典型的なセンスの一つではないかと 思うのである。それまでは、LISPの考案者 McCarthyのまやかしともいえる「変数の動的な スコープ」に、皆がだまされ続けていたわけで ある。それを、「静的スコープ」でLISPが作れ るということを身を持って証明したのが、 Schemeの開発であった。Schemeの開発は様々 な要素から成り立っている。まず、静的スコー プの方がλ算術の理論との整合性がよいという 認識がある。そのような認識を得るには、もち ろん、λ算術を知らなくてはならないけれども、 それほど数学的なことまで知る必要はない。ま た、いくら理論との整合性がよくても効率よく 実現できなければどうしようもないから、静的 スコープを効率よく実現するための技術が必要 となる。さらに、いくら理論との整合性がよく 実現の効率がよいとしても、プログラミング言 語として、わかりやすく使い易いものでなけれ ばならない。そのためには、シンタックスを工 夫したり、環境を整えたりしなくてはならない。 以上のような様々な問題を克服して初めて、静 的スコープが現実のものとなり、Schemeが本 物のプログラミング言語となったのである。 もう一人天才をあげろといわれれば、関係デー タベースを開発したCoddをあげたい。関係デー タベースも数学的な基礎を持っているが、それ も純粋に数学として考えれば中学生程度のレベ ルに過ぎない。つまり、関係データベースも、 Schemeと同様に、数学的な基礎、実現の効率、 わかりやすさ、使いやすさ、そのすべてが組み 合わさった結果、データベースにとってなくて はならない技術となったのである。 その他、ソフトウェアの分野で、これぞコンピ ュータ・サイエンスというべき仕事としては、 Smalltalk、Spread Sheet、HyperCard、などを あげたいと思うのである。 さて、随分と長い間、コンピュータ・サイエン スという学問に携わって来たけれども、なかな か満足のいく仕事はできないものである。かと いって、一生懸命やって荻野目洋子になっても 仕方がない。一言でいえば、難しい、のである。 ---- さて、この手紙は、今回をもって終わりにした いと思う。 その理由は二つある。一つは、ハッカーのこと、 京都のこと、ものを作る喜び、現代国語、など など、前々から書きたいと思っていたことのほ とんどを、もう書いてしまったということであ る。かといって、ねたがつきたわけではけっし てない。月日がたてば、いくらでも書きたいこ とは出て来る、つまり、ねたは尽きないのであ る。 二つ目の理由は、最近、とみに、文章が説教臭 くなってしまったと自分でも思うことである。 これではいけないと思っていても、ついつい、 あーしろ、とか、こーしてはいけない、という 話になってしまう。fjの電子ニュースなどを読 んでいても、文章の輝きという点で若い人々に は完全に負けていると思うのである。要するに、 潮時であり退き際というべきなのであろう。 ということで、どうも、長い間のご愛読、あり がとうございました。