| And you have mistakenly assumed that i am "blindly hating evolution". The distinction i make is between "needs" and "wants"; much of what has been added in Modern C++ is "wants". >First link in Google, how is moving from undefined behavior and not needing manually declare type of union (sic!) is a "mere complexity for not much benefit"? Because you have not understood the definition and guarantees of a "union"; and UB is not always a bad thing. "union" is explicitly defined to be a POD with all it entails. The stackoverflow answer does not provide anything new. If you want something more, you code it explicitly when needed. No need to burden the language; in fact it creates more problems because "variant" does not guarantee layout compatibility. >Sure, enough people say that about for and while loops while avoiding functional patterns like a plague. Of course familiarity and clarity always trumps "new patterns". >Which "modern, overhead features" are solved by RAII? The harping on "never use naked pointers" in your code. >Who are these experienced programmers and how do you define those? Your circle of people? Of course; It should be the same for you and everybody else too! >Modern features are literally easier and less complex than old way. Like in the variant example. This is what we are debating; it is not a fact that you seem to assume. >There's no key reason C++ took off. It took off, because it took off. There is always a tipping point. In C++'s case it was compatibility with C and new language constructs for higher level abstractions. >There's a reason why those differently designed languages were defined differently. Exactly; Each starts with a Computation Model and evolves a syntax to that model. The evolution should not be willy-nilly dumping everything and the kitchen sink into a language. C++98 was complicated enough but still manageable but what has happened from C++11 onwards is just too much complexity requiring even more effort from experienced programmers. You cannot hand-wave it away by saying "Modern C++ is a whole new language so forget baseline C/C++ cores" which is quite silly. |