On Fri, Jun 18, 2021, 19:48 Bjarne Stroustrup via SG15 <sg15@lists.isocpp.org> wrote:

we have lived with the fundamentally messy header files for almost 5 decades and have pretty good ideas of how to deal with them, so they can seem simple and fit with many tool chains. 


There are different axis of complexity. 

Headers are super messy from a language perspective, but are very much straightforward from a tooling perspective, particularly in POSIX systems, where they are uncontroversially mapped to files on disk with a well defined lookup order and standardized compiler arguments.

Modules are much more straightforward from the language perspective, but they force the issue of package management, which has been an area with very little convergence in the past, and they force the issue because they are a lot more semantically complex for the build system.

That is not a bad trade off, most other languages have successfully pushed all of that complexity to a standardized package manager.

C++ (and the languages it can do ABI interoperability with) have been avoiding the convergence on the package management conversation, which makes the adoption of modules by build systems much harder (particularly when consuming pre-built artifacts).

I am not very hopeful that we could get an universally interoperable solution to this problem, but I'm confident we can get the posix-like systems to converge.

I do agree with the sentiment on the rest of the thread that this is not likely  going to happen by fiat.

Daniel