Навеяно одной из соседних тем. Стало интересно, что вообще люди думают по этому поводу.
Какой бы вы хотели видеть систему модулей?
Тут можно выделить ряд вопросов.
Должны ли модули быть файлами(один файл - один модуль) или они должны декларироваться в коде? Или это можно как-то скомбинировать?
Должен ли модуль быть единицей инкапсуляции или же это лучше оставить системе типов(классы в случае ООП)?
Должен ли модуль формировать пространство имен? Как должен работать import?
Нужно ли явно отделять интерфейс модуля от реализации в коде(или даже их стоит по разным файлам разносить)?
Как система модулей сочетается с системой пакетов/зависимостей? Как сочетается с системой сборки?
И т.д. и т.п.
Делитесь мыслями и идеями=)