読者です 読者をやめる 読者になる 読者になる

私も「ヘテロ言語なプラットフォーム」みたいのには,懐疑的です..NETとかJVMとか.

ある言語を前提に設計されたランタイムは,それが良くできていればいるほど,他の言語にとっては使い難いものになる.GCとか,OOとか,タイプシステムとか,提供される機能が高級であれば高級であるほど,他の言語で使えないものになるんです(経験的に).もちろん,言語という単位じゃなくって,OOとか関数型とか,前提をもっと広い範囲に取れば,少しはましになるでしょうけど,でも,それはちょっと違うよね.そもそもOCamlでプログラミングしてるときに欲くなるのは,RubyであってSMLじゃない.Rubyでプログラミングしてるときに,欲しいのはFortranであってPythonじゃない.それはムリです.OCamlのランタイムが良くできているからといって,そこでRubyが走るかということ.RubyのランタイムでPythonを走らせるのはずっと簡単になるでしょうけど,でもPythonでできてRubyにできないことというのは,あんまりないでしょう.

そうすると,ヘテロ言語なプラットフォームというのは,ものすごく原始的なものにならざるをえない.x86とか,HTTPとか.べつにラムダ計算でも,チューリングマシンでもいいですけど.そこでプログラミングすれば,確かになんでもいけるでしょうけど,それってべつに嬉しくない.


じゃあ,どうするのかっていうと,インタプリタ書いちゃうしかない.HaskellRubyインタプリタを書けばいい,Javaで書けばいい,C#で書けばいい.Paul Grahamの時代から進歩してないのが悲しいけど.でも,それはしかたないんじゃないかなぁ.

大丈夫ですよ.コンパイラインタプリタ作るのは,どんどん簡単になってきてますから.言語はどんどん高級になってきてますし,便利なライブラリもどんどん書かれてます.それに,いろいろなテクニックもどんどん開発されて公開されています.