LISPがそんなに素晴らしいなら
Original2003年5月
Lisp がそんなに素晴らしいのなら、なぜもっと多くの人が使わないのでしょうか? 最近行った講演で、聴衆の学生からこの質問を受けました。これも初めてではありません。
言語においては、他の多くのことと同様、人気と質の間には相関関係はあまりありません。なぜジョン・グリシャム ( *『不法行為の王』*売上ランキング 44 位) はジェーン・オースティン ( *『高慢と偏見』*売上ランキング 6191 位) より売れているのでしょうか。グリシャムですら、自分の方が優れた作家だからだと主張するでしょうか。
『高慢と偏見』の最初の文は次の通りです。
裕福な独身男性は妻を欲しがるに違いないというのは、広く認められた真実である。
「それは普遍的に認められた真実ですか?」ラブストーリーの最初の文としては長い言葉だ。
ジェーン・オースティンのように、Lisp は難しそうに見えます。その構文、あるいは構文の欠如は、ほとんどの人が慣れている言語とはまったく違うように見えます。私も Lisp を学ぶ前は Lisp が怖かったです。最近、1983 年のノートを見つけましたが、そこには次のように書いてありました。
Lisp を学ぶべきだと思うのですが、とても外国語のようです。
幸運なことに、私は当時 19 歳で、新しいことを学ぶことにそれほど抵抗はありませんでした。私はあまりにも無知だったので、ほとんど何を学ぶにしても、新しいことを学ぶことを意味していました。
Lisp を恐れる人々は、それを使わない別の理由をでっち上げます。C がデフォルト言語だった頃の標準的な言い訳は、Lisp は遅すぎるというものでした。今では Lisp 方言は利用可能な言語の中でもより高速なものの 1 つであり、この言い訳はなくなりました。現在、標準的な言い訳は明らかに循環的です。つまり、他の言語の方が人気があるということです。
(このような推論には注意してください。Windows が利用できなくなります。)
人気は常に自己永続的ですが、プログラミング言語では特にそうです。人気のある言語向けに書かれたライブラリが増えると、その言語の人気はさらに高まります。プログラムは既存のプログラムと連携しなければならないことが多く、同じ言語で書かれていればこれは容易です。そのため、言語はウイルスのようにプログラムからプログラムへと広がります。また、マネージャーは人気のある言語を好みます。なぜなら、開発者は簡単に置き換えられるため、開発者に対してより大きな影響力を持つからです。
確かに、プログラミング言語がどれも多かれ少なかれ同等であれば、最も人気のある言語以外を使う理由はほとんどないでしょう。しかし、どれも同等というわけではありません。決してそうではありません。だからこそ、ジェーン・オースティンの小説のように、あまり人気のない言語が生き残り続けているのです。みんながジョン・グリシャムの最新小説を読んでいるときでも、代わりにジェーン・オースティンを読んでいる人が必ず数人いるのです。