Будет ли СПМ расширена для обработки дженериков?


Что ты думаешь? Получит ли СПМ когда-нибудь поддержку дженериков?

Вполне вероятно, что это потребует не только существенных изменений в JVM, но и в формате файла класса, но языки, работающие на виртуальной машине, значительно выиграют от этого.

Edit: язык Java на самом деле поддерживает своего рода генераторы как функцию времени компиляции, которая добавляет некоторые приведения к байт-коду, которые люди должны были добавить вручную раньше.

Решение не вносить изменения в спецификация JVM или файла класса была хорошо понята в то время, потому что они не хотели нарушать обратную совместимость, и Java был единственным значимым языком для JVM в эти дни.

Хотя это решение могло бы быть приемлемым для языка Java, оно значительно сократило объем свободы, которую другие языки имеют, чтобы выбрать, как они хотят реализовать генераторы на виртуальной машине.

Учитывая, что Sun/Oracle провозгласили сделать СПМ более дружественным место для альтернативных языков, будут ли они на самом деле делать то, что они обещали, или считают, что им достаточно недорогого добавления "InvokeDynamic"?

1 3

1 ответ:

На мой взгляд, это маловероятно.

Было бы просто слишком разрушительно применить эти изменения к языку Java. Лингвистическая и временная обратная совместимость с двумя различными моделями дженериков была бы кошмаром для разработчиков.

И без того, чтобы Java приводила изменения в JVM, трудно понять, как Oracle будет / могла бы оправдать выполнение требуемой работы.

Единственные возможности, которые я вижу:

  • Oracle решает разработать преемника язык Java (который не является обратно совместимым), который делает дженерики, замыкания и целую кучу вещей лучше. Это было бы действительно смелое деловое решение, и я не думаю, что Oracle способна его принять.

  • Группа других людей / компаний собирается вместе и разветвляет спецификацию JVM и кодовую базу. Это тоже смелый шаг, чтобы сделать.

Я не думаю, что Oracle будет предоставлять ресурсы для серьезных изменений в JVM только для поддержки языков. в этом у них не было коммерческого интереса. Речь здесь идет оракуле ... где бизнес-типы имеют гораздо более жесткий контроль над тем, что делают инженерные типы, чем в дни умирающего Солнца. (Эй ... мы могли бы начать целую тему Джека Вэнса здесь: -)