Пардон, откуда у вас в существующем проекте возьмутся модули?
В 9-ке теперь всё в модулях как ни крути, даже ваш class-path.
Кроме того, я лично не знаю ответа на вопрос, что будет, если два модуля захотят две разные версии зависимости
Подробно описал эту проблему в своей единственной статье, можете почитать :)
Но решение-то в чем будет состоять?
Если проект с нуля — правильно строим иерархию модулей, если существующий — автоматические модули в руки с доступом в class-path и постепенный рефакторинг в полноценные модули.
Под модульностью понимают контейнеры с кодом и ресурсами, причем из таких модулей будут состоять не только приложения, но и сами JRE/JDK. Что это даёт:
Вы можете собрать образ (runtime image) типа приложение+JRE только с теми модулями из JRE, которые использует ваше приложение. Это сильно уменьшает размер пакета с самодостаточным приложением (если конечно не все модули использованы)
Более строгие отношения между модулями. Первое, что бросается в глаза — требование открывать пакеты модулям, так как по умолчанию они не видны (из под полноценной модульной системы). Это значит, что можно делать интернал апи публичным в рамках модуля, раскидать его по разным пакетам и не переживать, что кто-то его начнёт использовать — компилятор рукам за такое даст.
Просто я не понимаю зачем "изучать" какую-то технологию просто так, ради интереса
Помогает развеяться/отвлечься/сделать "перекур"/т.п. от текущей работы.
Всё-таки изучение технологии (если это действительно технология) может дать новые знания, навести на новые мысли. Это помогает смотреть на текущие проблемы (и даже на уже решённые) "из новых мест". Бывает, в голове загорается лампочка.
Странно — то говорят, что постоянно нужно изучать что-то новое (а значит и эти самые туду листы как практика), чтобы держать себя в форме, а теперь говорят, что это вредно.
Определитесь, пожалуйста.
На самом деле в этом вопросе мало чего поменялось, просто одно апи (ClassLoader) обернули в другое (апи модулей). Как раньше, так и сейчас эту ситуацию надо «обрабатывать» вручную.
Судя по всему, релиз откладывали в последний раз именно из-за этого.
Конечно, то многое из того, что вы перечислили — пригождается большинству людей, связывающих себя с ИТ. Что-нибудь из этого вы видели в статье? Об этом и речь (плюс сами преподаватели).
всё было интересно!
Зависит от вас (вы всё равно потом изучите тему сами и глубже, потому что вам это интересно) и преподавателя (нужно умеючи подать информацию по теме, заинтересовать).
И Excel — это очень годный инструмент, не понимаю почему его все студенты так не любят
Потому что преподаватель, как правило, сам этого не понимает. Что тогда спрашивать со студентов?
А подтверждать по ТК, что я программист — не нужно? Конечно, можно работать и без неё. Но корку стоит получить и она никак не помешает, а только поможет.
Однозначно поступать за коркой в основном для того, чтобы потом устроиться по ТК. Работу с «учебой» совместить не совсем получится — ведь нужно сначала заняться самообразованием (т.к. в ВУЗе прожигаем время), и уже потом, умея что-то делать, где-то подрабатывать для получения опыта работы.
Сам из Дзержинска в НиНо катаюсь (+ из деревни под Богородском) и трачу ~2 часа на дорогу в день. В этом году у нас делали (до сих пор местами) дороги перед ЧМ и пробища развели по всем дорогам, соответственно простой был больше… Но нет, удалёнка отсутствует :(
Про OSGi я теперь думаю только «упаси боже связаться», как и с такой проблемой в принципе.
В 9-ке теперь всё в модулях как ни крути, даже ваш class-path.
Подробно описал эту проблему в своей единственной статье, можете почитать :)
Если проект с нуля — правильно строим иерархию модулей, если существующий — автоматические модули в руки с доступом в class-path и постепенный рефакторинг в полноценные модули.
Будет ошибка компиляции об использовании пакета, открытого в двух модулях.
Определённый момент это в рантайме? А 9-ка может ругнуться во время компиляции.
PS. Хабр, у тебя маловато времени для редактирования :(
Над оператором Элвиса в девятке конечно поиздевались.
В час всё не уложишь, поэтому цель только зацепить, чтобы слушатель пошёл дальше и изучил тему подробнее в сети.
Про "зачем" можно см. комментарий выше, по поводу jar-hell: его частично решили модулями, но чтобы всё это заработало, нужно потанцевать с бубном
Под модульностью понимают контейнеры с кодом и ресурсами, причем из таких модулей будут состоять не только приложения, но и сами JRE/JDK. Что это даёт:
Определитесь, пожалуйста.
Судя по всему, релиз откладывали в последний раз именно из-за этого.
Конечно, то многое из того, что вы перечислили — пригождается большинству людей, связывающих себя с ИТ. Что-нибудь из этого вы видели в статье? Об этом и речь (плюс сами преподаватели).
Зависит от вас (вы всё равно потом изучите тему сами и глубже, потому что вам это интересно) и преподавателя (нужно умеючи подать информацию по теме, заинтересовать).
Потому что преподаватель, как правило, сам этого не понимает. Что тогда спрашивать со студентов?
Одно слово: вау!
Запилите для
cmd.exe
? :D2. Хочется рисовать от руки. Клавиатурой-мышью так не сделаешь…