LISPの真実を読んでたら最後に出てきたので、かなり古い記事だけれども、Eric Kidd氏のWhy Ruby is an acceptable LISPを訳してみました。まつもとさんによる反応もあり、そのエントリの中で原文はほぼ要約されています。





一年前、私はRubyに注目してはいたものの、それを無視することにした。RubyはPythonほどポピュラーではないし、LISPほど強力というわけでもない。なのに何故気にかけなければならないというのか。

もちろん、これらの評価基準は考えなおすこともできる。もしRubyがLISPよりもポピュラーで、Pythonよりも強力だったらどうなるだろうか？*1 それはRubyを興味深いものにするに足るのではないか？

この疑問に答える前に、LISPを強力たらしめているものは何なのかを定義しておくべきだろう。Paul GrahamはLISPの美徳について雄弁に語ったが、ここでは議論のために次の2つに絞ることにしよう。

LISPは濃い(dence)関数型言語である LISPはプログラム可能なマクロを持っている

結局のところ、Rubyは関数型言語とほぼ同等であり、私が考えていたよりも上手くマクロを模倣することが分かった。