Loading...

LISP がそんなに素晴らしいなら

Original

2003年5月

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

言語は、多くの物事と同様に、人気と質の間にあまり相関関係がありません。 なぜジョン・グリシャム(キング・オブ・トーツの売上ランキング、44位)はジェーン・オースティン(プライドと偏見の売上ランキング、6191位)よりも売れているのでしょうか? グリシャムでさえ、自分がより優れた作家だからだと主張するでしょうか?

プライドと偏見の最初の文を以下に示します。

それは、裕福な独身男性は妻を求めているという、広く認められた真実です。

「それは、広く認められた真実です?」 ラブストーリーの最初の文にしては、長い言葉です。

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

Lisp を学ぶべきだと思いますが、とても異質に感じます。

幸いなことに、私は当時19歳で、新しいことを学ぶことに抵抗がありませんでした。 私はあまりにも無知だったので、ほとんど何でも学ぶことは、新しいことを学ぶことを意味していました。

Lisp を恐れている人々は、使わないための他の理由をでっち上げています。 C がデフォルトの言語だった頃は、Lisp は遅すぎるという標準的な言い訳でした。 今では、Lisp の方言は、最も速い言語の1つに数えられるようになり、その言い訳はなくなりました。 今では、標準的な言い訳は、他の言語の方が人気があるという、明らかに循環的なものです。

(このような推論には注意してください。Windows にたどり着きます。)

人気は常に自己永続的ですが、プログラミング言語では特にそうです。 人気のある言語には、より多くのライブラリが書かれます。 これにより、さらに人気が高まります。 プログラムは、多くの場合、既存のプログラムと連携する必要があり、同じ言語で書かれている方が簡単です。そのため、言語はウイルスのようにプログラムからプログラムへと広がります。 また、マネージャーは人気のある言語を好みます。なぜなら、開発者をより簡単に置き換えることができるため、開発者に対する影響力を高めることができるからです。

実際、プログラミング言語がすべてほぼ同等であれば、最も人気のある言語以外の言語を使う正当な理由はほとんどありません。 しかし、すべてが同等ではありません。 はるかに異なります。 そして、それが、ジェーン・オースティンの小説のような、あまり人気のない言語が生き残っている理由です。 誰もが最新のジョン・グリシャムの小説を読んでいるときでも、ジェーン・オースティンを読む人は常にいます。