動的型付けとNative Code

動的型付け言語は、VMスクリプトであることが多いので、「動的型付け=VM,スクリプト」「静的型付け=Native Code」であるような思い込みになんとなくはまっていたが、これはよく考えると嘘だ。
C言語など、ある種の動的型付け(あるいは型無し)言語だと思った方がよいような言語があることを考えれば、上のことは自明だ。
じゃあ、なぜ、そういう思い込みが生まれたのか?
「安全な」動的型付けを実現するには、実行時に適切なメタデータが取得できることと、実行時の型エラーに対して適切に対処できることが必要なので、それを実現する解として、VMがあるということなのだろう。
ということは、その部分さえ適切に対処できれば、Naitive Codeでかつ動的型付け言語ということはできるんじゃないの?
と思ってちょっと考えてみたら、それって、Objective-Cのことか、と思った。

      • -

Native Codeであるメリットって、速度くらい?
でも、Objective-Cって、別にそれほど速いわけではないらしい。
http://tdpblog.blogzine.jp/twilightdraw/2005/03/ <-- 2005.03.12 の記事を参照