Да плевать я хотел на Callback hell, и всё, что с этим связано. Посмотрите в окно, узрите 2017 год, сходите почитайте про async/await, скачайте Котлин или Скалу.js и забудьте про этот кошмарный сон. А что на счёт JAR hell?
Итак, 2017 год. Что у нас тут? У нас уже 4-й раз откладывают выход Java 9. Ведь IBM и Red Hat до сих пор не могут подружиться со всеми, решив, какая модульная система лучше.
А модульная система действительно нужна, как глоток свежевого воздуха. К сожалению, действующий JSR, описывающий модули, крайне херов. Он не решает множества проблем. Во-первых, из-за обратной совместимости JAva, появляется анонимный модуль, да и вообще никого не заставят использовать модули.
Во-вторых, новая Модульная система отказывается решать вопрос версионирования. А зачем? Они же пытаются создать замену гредла! (а хотелось бы, очень).
Ну, и ВИШИНКА НА ТОРТЕ — Модульная систем Java 9 НЕ РЕШАЕТ существующий Jar HELL. А это такая отвратительная вещь, которая просто супер мешает жить.
Вот толкьо на секунду вдумайтесь. Создан ахеренно большой и популярный Spring Boot. А за что его все так полюбили? Ну, кроме сахара и пары плюшек. Естественно, за консистентный набор библиотек, которые согласованы. А это точно то, что мне надо? Не кастыль, с которым я должен жить? Почему 2 класса с одинаковым идентификатором не могут жить в одном Класс Пассе? Они чё подерутся чтоли? Нет, но так сложилось исторически.
Грустно это всё. А ещё больше грустнее становится, когда Модульная система, которую, на минуточку, мы ждём с Java 7, по факту создана испключительно для интернал целей Ораклойдов (это совсем не плохо, но пускай тогда Модули не торчат попой на ружу, и используются исключительно внутри Джавки),
Категории: Программирование