> The fact that we still handle dependencies in 2017 by literally copy-pasting files into each other with #include macros is obscene.
Historically, C++ used includes so that it could be compatible with C. In the future, modules can be used which avoid many of the problems with includes [0].
[0] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n468...