I think this is something that should be in C++ asap - a standardized way to deal with libraries seems essential. I am also very interested in the implications and suggestions of this allowing for dynamic module loading as a language feature - something also sorely needed.
I've given it a good read and I am excited for the new possibilities it brings. What do you think? Why do you think/know they didn't include it in C++11?
The stated aims:
• Significantly improve build times of large projects
• Enable a better separation between interface and implementation
• Provide a viable transition path for existing libraries
Points 1 & 2 are have always been in the language, and point 3 is irrelevant if we ignore the feature.
There was a time when new features were rejected if they could be implemented in a library. It seems that that premise is no longer in force, just look at C++11.
In my view, system problems should be solved at the system level. A language shouldn't attempt to fix system problems.