3 ms·
Backward compatibility with existing compilers. And more importantly, not breaking old, old codebases, which is a very critical problem. Obj-C++ and D don't h
by jokoon 2y ago
Backward compatibility with existing compilers.
And more importantly, not breaking old, old codebases, which is a very critical problem.
Obj-C++ and D don't have critical codebases, because there is just so much less code. Apple does what they want.
Like Stroustrup says, when a language is not used, it won't generate problem: I gues his quote is often quite overlooked, but it's very very true.
Compilers are a difficult topic.
- shdnx 2y agoThere is no backwards compatibility here to speak of: C++ modules are a new feature introduced by the C++20 standard. There was absolutely no reason to make a mess out of them.
- jokoon 2y agoMaybe we need to interview a C++ compiler engineer, for microsoft, GCC, clang, etc, because C++ is a large language that carries its compilation model from C, and I don't think making modules happen, or implementing them, is a trivial task. I don't think they intended to make a mess, I think that C++ compilers are just massive things with massive codebases, and several different companies who have to agree on one language. There are many non-trivial obstacles.