There are just too many ways to implement a same thing in C++. It's becoming more and more complicated.
So I have a strange idea: pick only a small set of features of C++, and disable all others. Maybe call it C+. Ship it in a compiler that will give error if any disabled features are used, maybe call it g+-4.8.
I have been dreaming of such a thing for long. The issue that comes is which features to keep; I have heard that everyone has their subset of C++ that they use.
The above system must be able to allow handling legacy code, which seems doable.
Most interesting (to me at least) is "Proposing the Rule of Five"[1], so that no copy function, move function, or destructor will be compiler-generated if any of these functions is user-provided.
So I have a strange idea: pick only a small set of features of C++, and disable all others. Maybe call it C+. Ship it in a compiler that will give error if any disabled features are used, maybe call it g+-4.8.