昨日の続き

昨日の記事にコメントを頂いた。ありがとうございます。
(それに基づき、昨日の記事を一部修正しました)

ブートストラップの問題が一番大きいと思います。最初に移植する場合、ターゲットマシン上で「既に使える処理系」を使わざるを得ないので。(でなければクロスコンパイラが必要になる)。

移植性に関しては、全然考えていなかった。確かにLispの処理系よりは、Cの処理系の方がありそう、といえばありそう。仮にLispの処理系があったとしても、元をたどれば、その処理系はアセンブリではなくCで書かれているのだろう。

ところで、プログラムの記述言語を選ぶ理由としては、当然ながら作者の好みも強力なようだ。
Rubyソースコード完全解説」*1によると、メーリングリストRubyの作者自身が「I Hate C++」と発言している。だから、今後C++で記述することはありえないだろう、だそうだ。(その投稿は確認できなかった)

*1:この本はhtml化されて、現在無償で読むことができる。『Rubyソースコード完全解説』サポートページ