In the end it's really hard to force breaking changes for systems that are working sufficiently well. If I have something that I'm satisfied with (after all, I chose to use C++ over Go, c#, D, Ada, Pascal, etc., why not choose C++17 over some hypothethical incompatible C++22)
I would think (or at least hope) that there are not many new projects being started in c++ these days. with this assumption, it seems like the main focus for c++ today should be on adding features that enable developers to incrementally rewrite old code with a view towards increased safety. range-based for is a great example of this. a large portion of unchecked vector accesses within loops can be trivially rewritten with range-based for to be much safer, and a small team can simply fix them one by one as they quash bugs.
on the other hand, removing NULL all at once in a legacy codebase could be almost impossible for a small team. I've seen many unfortunate instances where the code actually relies on NULL being the integer '0'. fixing this kind of thing across thousands of files would be an absolute nightmare.
I am certainly sympathetic to the idea that the code that will be broken by these types of changes is sloppy and should be rewritten anyway, but this is unlikely to actually happen. most resource-constrained teams are just going to freeze their projects at c++yy and never benefit from any new features.
edit: I partially retract this post. the gradual 10-year deprecation process he specifies seems reasonable enough. I still question whether making c++ less confusing to newcomers is a good use of resources. there's really not a lot of situations where it makes sense to start a new project in c++.
But C++ is absolutely still a live language! For the simple reason that there is no alternative which can work in all its significant niches (systems, realtime, embedded, HPC) and which is mature. Rust is on its way. D could be on its way. Ada never caught on widely, for some reason.
C++ caught on, because it came from AT&T and was embraced by C compiler vendors, thus landing in all OS SDKs.
Being part of a platform SDK is usually the path to fortune, for any language in platforms that manage to win widespread usage.
And a couple thousand lines of Turbo Pascal was 10 seconds! XD
At least on Github it's growing : https://www.benfrederickson.com/ranking-programming-language...
I'm pretty sure that given the overall large increase in the amount of programmers, there are more new C++ projects being created this year than there were new software projects overall when c++98 was standardized. Consider that in the US alone, there were ~600k developers in 2002, and nowadays the estimates are at ~4.5 million.
I doubt there was any fall to the number of C++ projects started. For the domains C++ is used (OSes, premium apps the likes of Office, Photoshop, 3D, video editing, DAWs, etc, AAA games, networking, databases, number crunching, etc), there's no substitute with the same number of compilers, ecosystem, maturity, and programmer base. Rust doesn't even come close.