But there is a lot of interest. CppCon has multiple talks on how the language is too complex and/or what paths could be taken to simply it.
I guess it doesn't matter much now since C++ is the new Fortran,…
C++ isn’t the new Fortran, it’s the new C. Fortran had ultimate primacy in the numerical code domain, C++ is used there too but almost everywhere else too.
… but there are so many little things they could fix with a -std= flag.
The problem is that any change to behavior will break code. And in the cost benefit analysis, making the language more accessible to potential new users doesn’t, and shouldn’t, take priority over current users. Now, there is a balance to strike, but simplifying C++ basically must be done through adding new features and interfaces.
Reaching the end of a function the should return a value but doesn't should be an error by default.
There are some nuance around this, but in the general compiler warnings/attributes and static analysis can do catch the cases of interest. Even if the language was changed to require this, I doubt implementations could actually check all code paths in every function.
char is 8 bits
Recommend using fixed width integer types instead?
require braces for if & for bodies
This isn’t a problem I see beginners usually having. But this is a style of code I’ve seen in many high profile code bases and it would be a . Anyway, aclang-tidy check is enough to enforce this.
make vector::operator[] range checked by default (and add an unchecked version)
The checked version already exists as .at(). It’s regrettably not the default, but again, changing such behavior would be far too inconvenient for the billions of lines of code out there.
I guess by the time you get to the point of proposing changes to C++ you have Stockholm syndrome.
There is a lot of behavior that experienced C++ developers simply get used to, e.g. std::map[]. However the reason for the lack of proposals for fixing basic problems is that they’re DOE and/or equivalent to choosing an ant-hill to die on.
I guess they did add string::starts_with at least. After like 30 years.
Utility functions are nice but they are hardly the most pressing issues facing C++ users.