リスプはそんなに素晴らしいのか
Original2003年5月
リスプがそんなに素晴らしいのなら、なぜもっと多くの人がそれを使わないのでしょうか?最近行った講演で、聴衆の中の学生にこの質問をされました。これが初めてではありません。
言語においても、他の多くの事柄と同様に、人気と質の間にはあまり相関関係がありません。なぜジョン・グリシャム(『キング・オブ・トーツ』の売上ランキング、44位)は、ジェーン・オースティン(『高慢と偏見』の売上ランキング、6191位)を上回る売上を記録するのでしょうか?グリシャム自身が、自分がより良い作家だからだと主張するでしょうか?
『高慢と偏見』の最初の文は次の通りです:
「良い財産を持つ独身男性は、妻を求めているに違いないということは、普遍的に認められた真実である。」
「普遍的に認められた真実?」恋愛小説の最初の文としては長すぎる言葉です。
ジェーン・オースティンと同様に、リスプは難しそうに見えます。その構文、あるいは構文の欠如は、ほとんどの人が慣れ親しんでいる言語とは完全に異なって見えます。リスプを学ぶ前、私もそれを恐れていました。1983年のノートを最近見つけ、その中に次のように書いていました:
「リスプを学ぶべきだと思うが、あまりにも異質に思える。」
幸いなことに、その時私は19歳で、新しいことを学ぶことにあまり抵抗がありませんでした。私は非常に無知だったので、ほとんど何でも学ぶことは新しいことを学ぶことを意味していました。
リスプに怯える人々は、それを使わない理由を他に作り出します。Cがデフォルトの言語だった頃の標準的な言い訳は、リスプは遅すぎるというものでした。現在、リスプの方言はより速い言語の中に含まれているため、その言い訳は消えました。今や標準的な言い訳は公然と循環しています:他の言語がより人気があるということです。
(そのような理由付けには注意してください。それはあなたをWindowsに導きます。)
人気は常に自己永続的ですが、特にプログラミング言語においてはそうです。人気のある言語のためにより多くのライブラリが書かれ、それがさらに人気を高めます。プログラムはしばしば既存のプログラムと連携しなければならず、同じ言語で書かれている方が簡単なので、言語はプログラムからプログラムへウイルスのように広がります。そして、マネージャーは人気のある言語を好みます。なぜなら、それによって開発者に対する影響力が増し、彼らはより簡単に置き換えられるからです。
実際、もしプログラミング言語がすべてほぼ同等であれば、最も人気のある言語以外を使用する正当な理由はほとんどありません。しかし、彼らはすべて同等ではありません、全くもって。だからこそ、ジェーン・オースティンの小説のようなあまり人気のない言語が生き残り続けるのです。みんなが最新のジョン・グリシャムの小説を読んでいるとき、必ず数人は代わりにジェーン・オースティンを読んでいるでしょう。