Cが使われる理由 #2
そういえば弾さんって以下のような発言もしてるんだよなぁ。
もちろん、それはJavaに汎用性がない、ということではない。実際Javaは「言語を実装する言語」となれるほど豊穣な言語ではある。
これで、言語処理系を実装するには『「世界の底」に直接する必要がある』ってのはどういう話だろう。実際Cで書かれた CPython と compatible な Jython は Java で書かれているってのに。
別の方面からは C のポータビリティに関して指摘を受けたけど、これはそのとおりではある。ただ、C でポータビリティのあるプログラムを書こうと思ったらプリプロセッサマクロを駆使しないといけないし、大抵は各 OS の API を把握する必要がある。場合によっては m4 を勉強するはめになるかも。そこまでするならいまどきなら携帯電話でも動くんだから Java でいいんじゃないかという話でもある。
まぁ結局、処理系自身の実装言語を何にするかなんか case by case なんだけど、「C を学ぶ理由」に「C なら言語処理系を実装できるから」でその理由に「低レベル処理ができる」なんてのを持ってくるのはミスリードもいいとこだ。
P.S.
昨日のエントリで上げた Quercus ってのは Quercus: Java and PHP integration のこと。まぁ、知らない人のが多いよな。