У Java 9 будуть додатково встановлені модулі. Зазвичай мови мають те чи інше. І більшість програмістів сприймають два терміни як синоніми. Модулі побудовані поверх пакетів, трактуючи їх як примітиви. Складений малюнок пропонує ставитись до примітивів та композитів рівномірно. Інакше трапляться погані речі. Наприклад, подивіться на проект Valhalla, де вони намагаються доопрацювати загальний супертип для примітивних (значення) та еталонних типів.
Чи модулі та пакети представляють семантично окремі поняття? Значення це має сенс мати як для будь-якого мови (поділ проблем). Або Java має бути обома як данина відсталому сумісності?
Навіщо вводити нову концепцію замість розширення існуючої?
JSR 376 : "Система модуля платформи Java", реалізована в рамках проекту Jigsaw .
За даними SOTMS
Модуль - це іменований, самоописуючий набір коду та даних. Його код організований у вигляді набору пакетів, що містять типи, тобто класи Java та інтерфейси; її дані включають ресурси та інші види статичної інформації.
JLS обережно уникає визначення того, що таке пакет . З Вікіпедії :
Пакет Java - це метод організації класів Java в простори імен, схожих на модулі Modula, що забезпечують модульне програмування на Java.
Я знаю, що цитування Вікіпедії - це погана практика, але вона відображає загальне розуміння. Від входу на модульному програмуванні:
Термін пакунок іноді використовується замість модуля (як у Dart, Go або Java). В інших реалізаціях це окрема концепція; у Python пакет - це сукупність модулів, тоді як у майбутньому Java 9 планується впровадження нової концепції модуля (колекція пакетів з розширеним контролем доступу).
package
є / робить / означає, і не збираються змінювати на (скажімо це, досить жахливі) системи класових маршрутів в JRE. Питання №2, я вважаю, головним чином орієнтований на думку (це відповідає , але моя відповідь та хтось інший можуть відрізнятися, і ніхто з нас не обов'язково помиляється).
jigsaw
модулі стилю - лише технічне вдосконалення щодо пакетів? 3) (якщо не 1, а якщо 2), чи просто Java (або, здавалося б) зберігає обидва поняття для зворотної сумісності. Деякі з цих питань відповідають, деякі в першу чергу орієнтовані на думку. Я думаю, тут потрібна редакція, яка спрощує уточнення (-и), що шукаються.