4 ms·
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0939r0.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p093... says "C++ is complicated, to
by bla2 9y ago
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0939r0.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p093... says "C++ is complicated, too complicated, yet we cannot remove significant facilities and changing them is
very hard. Changing parts deemed insignificant can be risky (we need better analysis tools
[Winter,2016]) and the potential gains would be insignificant. However, we badly need to simplify use of
C++" in its long-term goals. However, almost every short- and medium-term change planned runs counter to that long-term goal. How are we supposed to reach a long-term goal if every step taken along the way is in the opposite direction?
- petermcneeley 9y agoIts almost like a description of a bad codebase. The parallels are quite interesting.
- gwbas1c 9y agoMaybe a version of C++ that breaks backwards compatibility? The assumption is that it will only be used for new projects?
- makecheck 9y agoThat is really the best solution, especially since it’s easier than ever to partition code bases (e.g. multi-process tools where you’ve only had time to modernize one of the pieces so far). It’s no longer “new project” so much as “new piece”.
- johannes1234321 9y agoThere are such things, for instance D is a "better" C++, but isn't widely used. By doing a cleanup of a language you throw away libraries, knowledge, tools, ... See also the missing success of Perl 6.
- norswap 9y ago> However, almost every short- and medium-term change planned runs counter to that long-term goal. I'm not sure the C++ commitee would agree with you. Every change adds to the language and hence, in a certain sense, makes things more complex, yes. But the idea is to add simpler alternatives to some current terrible stuff. As for metaclasses, they enable to define some fairly clean "class contracts", i.e. it constraints how some class can be implemented - and will report a clean error message at compile-time if the constraints are breached. Contrast to the current situation where failing to respect such a contract will make your program blow up at runtime or generate a byzantine template error at compile-time.
- andrewmcwatters 9y agoI remember beginning to learn C++ as a teenage game modder and loving it, but now that I'm older and have been exposed to the other facets of the language, my appreciation for plain old ANSI C and its interop has grown beyond my love for the former. There's just too much shit going on in C++. It's an example of a language where not enough people said "no". You can always add, but it's so very difficult to take away.