.NET 4.0 では、動的に型指定されたオブジェクトの呼び出しをディスパッチするための新しいサポートが導入されています。私が理解できる限り、これには次のことが含まれます。
- CLR に変更はありません
- BCL の新しい型
- 新しい構文を新しい型の使用法に変換する新しいコンパイラ
Java スペースでは、JVM に新しいdynamicinvoke
バイトコードを追加して、ディスパッチが中間言語の抽象化の背後で JIT によって処理されるようにすることについて議論しています。
Java のアプローチは、多くの重要な関係者から支持されています。
これらは、2 つの根本的に異なるアプローチのように見えます。それぞれのメリットは何ですか? また、なぜ両方の陣営が異なる道を選んだのですか? 私は、両方のソリューションの柔軟性と実行時のパフォーマンスに特に関心があります。両方の VM が最終的に同じことを達成しようとしていますか?