どのプログラミング言語が最も優れているか
この疑問をいろいろなプログラマーに対してしてみたときに、ついつい多くのプログラマーは自分が得意とするプログラムを推したくなると思います。
なぜなら、思い描いている諸問題は、自分の好きなプログラミング言語のアレやコレを使えばできてしまうはずだから。
Paul Graham氏が書いた記事「Beating the Averages(普通のやつらの上を行け)」の中でPaul Graham氏は、どのプログラミング言語が最も優れているかという問題に、一つの考え方を示していました。
たいていの場合、自分の好きな言語と、その言語よりも優れた他の言語を比べたときに、その優れた言語に備わる見たこともない機能を、あなたは何だかみょうちくりんな機能が付いていると思うはずです。
自分が理解しきれない機能を見たところで、自分の大好きな言語の見慣れた機能を使ったほうが、素早く実装できそうだし、十分だと感じてしまうから、とてもじゃないけれどフェアな言語の比較は難しくなってしまう。
優れた言語というのは、実際に使って、その言語に慣れ親しんでからでないと、他の言語と比較することはできないのです。
そのことを踏まえると、最も優れている言語というのは、そう簡単に比較することはできず、つまりは、山の頂上に登りつめて、頂上からふもとを見下ろさない限りは、最も優れているものを探すことはできないわけなのです。
私はLispをあまり使ったことがないので、どれほどLispが優れているプログラミング言語なのかわかりませんが、Lispで括弧を多用することにも、その見た目以上に理由があるわけなんですね。
いまはまだ、あの括弧がみょうちくりんなものに見えてしょうがないですが、LispやSchemeの機能を知ったときに、なくてはならないものだと理解できるようになるのでしょう。