2005年02月20日

SFから現実へ

 計算機科学の世界には、たくさんのSFめいた夢がある。
 いわゆる「第五世代コンピュータ」は20年前の研究だが、現在でもSFのままだ。第五世代コンピュータが実用化されない理由は数多くあるが、つまるところ、「C言語との相性が悪いから」というのが最大の理由だ。
 C言語とUNIXは、計算機科学の多くの分野を、応用科学からSFへと変えた。この悪影響がどれほど甚大かは、Linuxをみれば明白だ。
 しかし、C言語とUNIXの壁にもめげることなく、進歩を追求する人々がいる。そして進歩はあったのだ。たとえば、C++のように。
 というわけで、『C++の設計と進化』を読んだ。
 今日では、Javaに汚染されていない目でC++を見るのは、非常に難しい。それはなにもJavaの宣伝のせいだけではない。たとえば、今日に至るまでC++の標準には、実用的な文字列ライブラリが欠けている。これはC++の歴史上最大の弱点として、永久に尾を引くだろうと思える(もし同意できなければ、ぜひXerces-C++を使ってみていただきたい)。だがこの見方は、Javaが実用的な文字列ライブラリを備えているがゆえに生じるものだ。
 本書の初版は1994年に書かれた。Javaに汚染される前の目でC++を見ているという点で、本書はむしろ現在のほうが新鮮かもしれない。
 もし、本書のもっとも印象的な章をひとつ選ぶなら、第18章「Cのプリプロセッサ」である。これはもっとも重要な章ではないし、もっとも深みのある章でもない。だが私のみるところ、C++の運命をもっともよく暗示している章だ。「Cppが廃止される日をこの目で見たい」と著者は書いている。おそらく、人類が滅びるほうが先だろう。

Posted by hajime at 2005年02月20日 10:04
Comments