C++ was stagnated for many years, and many developers was confident that the language will have the same destiny as Cobol, Fortran and VB6. No new projects will be developed with it and C++ developers will do just the maintenance of existing projects. But against all odds C++ reborn from its ashes and the new standards changes a lot how the language is used.
During the last few years we talk about the “C++ Renaissance”. We have to admit that Microsoft was a major actor of this movement, I remember this video where Craig Symonds and Mohsen Agsen talked about it.
In 2011 Microsoft announced in many articles the come back of C++, and Microsoft C++ experts like Herb Sutter did many conferences to explain why C++ is back and mostly recommend the use of Modern C++. In the same time the standard C++11 was approved and we begin to talk about C++ as new language.
However, in 2011, C++ had a past of more than 30 years. And it’s not easy to convince developers that the new C++ simplified many frustrating C++ usage, and there’s a new modern way to improve the C++ Code.
But unfortunately all the effort from the active C++ community and the known experts was not sufficient. Moral of the story: If you give to someone the possibility to do something with a language or a tool, don’t be surprised if he did it.
And to benefit from all the amazing effort from the standards committee and the C++ community we need compilers where we can exclude the use of some old C++ features, so each company could easily customize its compiler to use a subset of the C++ standards which will help a lot the use of the new powerful features from the new standards.
It’s true that there’s a big contrainst when using the existing C++ libraries , but if we are convinced that C++ will have a very long life we need to prepare from now the switch to the powerful new C++ language .
The existing compilers are not designed to accept only a subset of the standards. However after working with Clang as parser for CppDepend we can confirm that its modularity, its implementation and its powerful diagnostics feature will help its contributors to develop in the near futur a version where we can customize it easily from command line and exclude some old features of the C++ standards when compiling our sources.
To resume C++ was improved a lot after the C++11 standards and other new features will be added in the next few years, thanks to the C++ standards committee. To benefit from all these effort the compilers must help us to switch to these new standards.