Loading...

LISPはなぜ素晴らしいのに、なぜ多くの人が使わないのか

Original

2003年5月

Lispはなぜ素晴らしいのに、なぜ多くの人が使わないのか? 私が最近行った講演で、聴衆の学生からこの質問を受けました。これは初めてではありません。

言語においても、多くのことと同様に、人気と質との間にはあまり相関関係はありません。なぜジョン・グリシャム(法の支配の販売ランク44位)がジェーン・オースティン(高慢と偏見の販売ランク6191位)を上回るのでしょうか? グリシャムでさえ、それは自分が優れた作家だからだと主張するでしょうか?

高慢と偏見の冒頭の一文はこうです:

「一人の独身男性が大金持ちであれば、必ず妻を求めるものだと、世間一般に認められた真理である。」

「世間一般に認められた真理である」? 恋愛小説の冒頭にしては長い言葉ですね。

ジェーン・オースティンのように、Lispも難しく見えます。その構文、あるいは構文の欠如により、ほとんどの人が慣れ親しんでいる言語とは全く異なって見えます。Lispを学ぶ前は、私もそれを恐れていました。1983年の手帳を最近見つけたところ、そこに次のように書いてありました:

「Lispを学ぶべきだと思うが、あまりにも異質に感じられる。」

幸いなことに、当時私は19歳で、新しいことを学ぶのに抵抗がありませんでした。私はあまりにも無知だったので、ほとんどすべてのことを新しく学ばなければならなかったのです。

Lispに恐怖を感じる人々は、使わない他の理由を作り出します。かつてCが標準言語だった時代の定番の言い訳は、Lispが遅すぎるということでした。しかし今では、Lispのダイアレクトが最も高速な言語の1つになったため、この言い訳は消えてしまいました。今では、標準の言い訳は公然と循環論法になっています: 他の言語のほうが人気がある。

(このような論理は気をつけるべきです。それはWindowsにつながります)

人気は常に自己増殖的ですが、プログラミング言語ではそれがとりわけ顕著です。人気の言語にはより多くのライブラリが書かれ、それがさらに人気を高めていきます。プログラムは既存のプログラムと連携する必要があり、同じ言語で書かれていれば容易です。このように言語はプログラムからプログラムへとウイルスのように広がっていきます。また、マネージャーは人気の言語を好みます。なぜなら、それにより開発者に対する支配力が増すからです。開発者はより簡単に交換可能になります。

確かに、すべてのプログラミング言語がほぼ同等であれば、最も人気のある言語を使うことが唯一の正当化理由となるでしょう。しかし、それらは同等ではありません。そしてそれが、ジェーン・オースティンの小説のような、あまり人気のない言語が存続し続ける理由なのです。他の人がみな最新のジョン・グリシャムの小説を読んでいる時でも、ジェーン・オースティンを読む人はいつも存在するのです。