Breaking the C++ backwards compatibility: Scott Meyers believes it’s possible in the future
So I will tell you the story short, because I’m quite excited about this piece of news. I think that there will be a lot of talk about this, so let’s put it in a simple manner.
While attending a D conference (as a guest in the panel together with Andrei Alexandrescu and Walter Bright in Brașov, Romania), Scott Meyers stated that there is hope to see breaking changes in the future C++ standards. His rationale was (and I’m quoting from memory here) that with the current level of tooling, with the great advancement of clang (and perhaps other similar tools) we can develop new, breaking changes to the C++ standard that could be enforced and corrected by the use of these tools.
He suggested that this could happen after the tools are proven with lots of testing (a time frame of up to 10 years) and he also offered an example: outlawing the assignment of 0 or NULL (often defined as ((void *)0) ) to pointers – and only an assignment of nullptr would be valid. This way a range of errors could be avoided.
This is the first time there is public talk about breaking the backwards compatibility with new C++ standards – at least for the first time when one of the most influential people in the C++ area talks openly about doing it and suggesting ways on how to do it. I think this is the kind of big news that could really change the way we think about C++ – no longer for legacy code, but also removing some of the clutter from the older days.
However, the conference was not about C++ – from what we understood, Scott Meyers was around in his holiday and he more or less crashed the D language party. Which reminds me, the D language is really worth trying, and I really liked the things I seen in Andrei Alexandrescu’s and Walter Bright’s presentations. Amazing presentations, as I said. Hopefully, we’ll soon see the recordings on the facebook page of Curious minds (the organizers). I think the thankyous go to the Curious Minds people and the sponsors, Siemens Industry Software.