それを言われると困る。
GCC 使うなら C にコンパイルすればいいじゃんとか、言われると、まったくもってそれが正しいのでヘコむ。
ただ、このへんは、全く考えてない、というわけでもないので、一応そういう話。
- //gcc.gnu.org/onlinedocs/gccint/Languages.html">Cコードを生成するよりも、ソースコードから直接コンパイルしたほうが最適化の恩恵を受けられる:と、公式に書いてある。どこで違いが出るのかはわからんけど。
- Cコードを生成するよりも、デバッグ情報が良くなる
- 上と同じとこに書いてある。これは、わかる。
- Adaの型情報を扱えるのはGCCバックエンドだけ!
- 数値範囲を指定する型とか、ビット幅指定したりとかが、Cをバックエンドにした場合は大変だと思う。…あんまり需要無いけど。
まあ、この程度だけど。
あと、書かないとわからないんだけど、GCCの色々なルーチンがコンパイラライブラリとしても使えるから便利、というのもある。
コンパイラの場合、型まわりに結構細々とした処理が必要になるけど、最低限のものがGCCに用意してあるので、それなりに楽、というわけだ。
ただ、あのよくわからないGCCのコードを読む労力に見合うだけの恩恵があるのか、と考えれば、「自分で実装したほうが早いけどね…」と、思うのが実際のところではあるけど。
ん、なんか書いてまとめてたら、深刻にヘコんできた。書かなきゃよかった。