Как известно, за 20 лет существования Жабы, накопилось и обнаружилось целая охапка проблем, связанных с кривым дизайном, реализцией, отсутствием нужных фишек и синтаксического сахара.
А что если с 10-й версии исправить все эти проблемы, полностью игнорируя обратную совместимость? Назвать например новую версию Жабы как Java X и развивать данную версию парралельно со «старой». Те, кому нужна обратная совместимость, будут сидеть на старых версиях, а те, кто начинает проект с нуля - пересядут на новую. Со временем все перекочуют на Java X, и необходимость в старых версиях отпадет навсегда.
Текущие проблемы Java:
- checked exceptions
- Отсутствие беззнаковых типов, вследствии чего имеем кривой API и трудности работой с сетью.
- Убогие Generics, которые дженериками и не являются
- Примитивные типы не являются объектами. Существуют убогие костыли-обертки, которые уродуют концепцию
- Длина массивов не может превышать Integer.MAX. Огромные массивы не поддерживаются
- Отсутствие Properties. Геттеры и сеттеры раздувают код и делают его нечитабельным
- Кривой дизайн Cloneable и Serializable
- Целый зоопарк всяких языков (Scala, Kotlin etc), которые по факту используют legacy JVM со всеми ее недостатками, пытаясь как-то выправить ситуацию и облегчить жизнь разрабов.
В общем комментируем, кто что думает по этому поводу.
Перемещено leave из general