Java 9 sẽ có các mô đun ngoài các gói. Thông thường các ngôn ngữ có một hoặc khác. Và hầu hết các lập trình viên đều coi hai thuật ngữ là từ đồng nghĩa. Các mô-đun được xây dựng trên đầu của các gói, coi chúng là nguyên thủy. Mô hình tổng hợp gợi ý để điều trị nguyên thủy và vật liệu tổng hợp. Nếu không những điều xấu sẽ xảy ra. Ví dụ, nhìn vào dự án Valhalla, nơi họ cố gắng trang bị thêm siêu kiểu phổ biến cho các kiểu nguyên thủy (giá trị) và tham chiếu.
Là các mô-đun và gói đại diện cho các khái niệm riêng biệt về ngữ nghĩa? Có nghĩa là nó hợp lý để có cả hai cho bất kỳ ngôn ngữ (tách mối quan tâm). Hoặc Java phải có cả hai như một sự tôn vinh cho khả năng tương thích ngược?
Tại sao lại giới thiệu khái niệm mới thay vì tăng cường khái niệm hiện có?
JSR 376 : "Hệ thống mô-đun nền tảng Java" được triển khai trong Dự án Jigsaw .
Theo SOTMS
Một mô-đun là một bộ sưu tập mã và dữ liệu tự mô tả. Mã của nó được tổ chức dưới dạng một tập hợp các gói chứa các kiểu, tức là các lớp và giao diện Java; dữ liệu của nó bao gồm các tài nguyên và các loại thông tin tĩnh khác.
JLS cẩn thận tránh xác định gói là gì . Từ Wikipedia :
Gói Java là một kỹ thuật để tổ chức các lớp Java thành các không gian tên tương tự như các mô-đun của Modula, cung cấp lập trình mô-đun trong Java.
Tôi biết rằng trích dẫn Wikipedia là một thực tiễn xấu, nhưng nó phản ánh sự hiểu biết chung. Từ mục nhập vào lập trình mô-đun:
Gói thuật ngữ đôi khi được sử dụng thay vì mô-đun (như trong Dart, Go hoặc Java). Trong các triển khai khác, đây là một khái niệm khác biệt; trong Python một gói là một tập hợp các mô-đun, trong khi trong Java 9 sắp tới, việc giới thiệu khái niệm mô-đun mới (một tập hợp các gói có kiểm soát truy cập nâng cao) được lên kế hoạch.
package
/ ngôn ngữ như thế nào, cũng như chúng sẽ thay đổi thành (hãy đối mặt với nó, hệ thống đường dẫn khá kinh khủng) trong JRE. Câu hỏi # 2 Tôi cảm giác là chủ yếu quan điểm định hướng (nó có thể trả lời , nhưng câu trả lời của tôi và ai đó khác có thể khác nhau và cả hai chúng tôi nhất thiết sẽ là sai lầm).
jigsaw
các mô-đun kiểu chỉ là một cải tiến kỹ thuật đối với các gói? 3) (nếu không phải 1 và nếu 2), là Java đơn giản (hoặc dường như) giữ cả hai khái niệm để tương thích ngược. Một số câu hỏi này có thể trả lời được, một số chủ yếu theo định hướng ý kiến. Tôi nghĩ rằng một chỉnh sửa đơn giản hóa (các) làm rõ được tìm kiếm theo thứ tự ở đây.