я думаю в поиске набрав JAR HELL, Вы найдете ответы подробные.
Хотя вот сразу первые две ссылки про это incubator.apache.org/depot/version/jar-hell.html en.wikipedia.org/wiki/Java_Classloader
Если я понимаю верно, то это очень смахивает на dll hall. Когда у программы могут быть не те версии модулей которые ему нужны. из-за чего программа может работать не корректно. а тк модулей идентичных может несколько, не понятно из какого взят код. очень сложно искать ошибки из-за этого
Jigsaw отвратно решает проблему jar-ов. Пэкеджинг уже пытаюстся встроить в сам язык, а это не есть хорошо! И вообще, такое впечатление, что это jigsaw не для широкого использоваиня, и предназначается только для организации пакетов и зависимостей внутри самой jvm.
Кстати, перспективное направление решения проблемы jar-hell — это OSGi, которая уже давно используется в том же Eclipse.
Можете привести примеры приложений, в которых успешно используется инфраструктура OSGi, например, для обновления и подключения сторонних модулей. (Eclipse есть. Что ещё?)
Spring DM Server использует OSGi, сервисная платформа Apache ServiceMix (он же Fuse). Большинство J2EE серверов собираются переходить на OSGi, несмотря на то, что он до сих не входит в стандарт J2EE 6.
Да и вообще очень удобно использовать как контейнер в любом собственном проекте. Для этого не нужно ставить всю инсталяцию сервера апликаций, а достаточно набирать только необходимые бандлы. Получается компактная минифицированная система.
Почему именно Лиспа? Думаю, очевидно, что на желание ввести замыкания в Java в первую очередь повлияло их наличие в C#, во всех динамических языках на платформе JVM, в Scala, и т.д.
При чём здесь это? Я говорю что аннотации — намного более важное и серьёзное нововведение нежели enhanced for, но при перечислении нововведений Java 5 предпочли вспомнить именно о enhanced for а не об аннотациях.
Чаще? Как знать. Аутобоксинг вообще часто «встречается», и что он от этого становится важен?
Без енхансд фора легко жить, а вот без аннотаций один только перзистенс уже становится адом. Честно говоря я даже не в курсе предусматривает ли JPA вообще чисто XML-ные конфиги, или он не работает вообще без аннотаций.
Я лично бы енхансед фор «отдал обратно» в любой момент, но аннотации — никогда.
Согласен с тем что это правильный их применения, хотя на практике не всегда всё так чётко разграничено.
Но в любом случае Аннотации это очень важная штука, даже более важная чем дженерики, ИМО, что уже говорить про enhanced for. Вот и всё что я пытаюсь сказать.
> Главными нововведениями Java 5 были generics и цикл for-each.
Аннотации забыли, это существенное изменение, как языка, так и формата классфайлов, и самой JVM.
Цикл фор ич — это как раз просто синтаксический сахар, который разворачивается внутри в обычный for-цикл компилятором.
И еще — ваше постоянное «Монета» чуть напрягает, я бы писал не переводя- «Проект Coin».
Марк Райнхольд о JDK 7, замыканиях, JRockit и HotSpot