.NET 4.0 представляет новую поддержку диспетчеризации вызовов для динамически типизированных объектов. Насколько я понимаю, это включает в себя:
- без изменений в CLR
- новые типы в BCL
- новые компиляторы, которые преобразуют новый синтаксис в использование новых типов
В области Java люди обсуждают добавление нового dynamicinvoke
байт-кода в JVM так что отправка обрабатывается JIT за абстракцией промежуточного языка.
Подход Java поддерживается многими значительными сторонами.
Это похоже на два принципиально разных подхода. В чем достоинства каждого из них и почему оба лагеря выбрали разные пути? Меня особенно интересуют гибкость и производительность обоих решений. Обе виртуальные машины в конечном итоге пытаются добиться одного и того же?