The thing I hate most about C&#x2F;C++ is how they overload the same keywords to mean different things.<p>So the idea of:<p>int x = void;<p>is inherently wrong to me.  Why not just create a new keyword with a clear and explicit meaning?<p>That said, breaking changes are simply wrong.  C&#x2F;C++ is what it is, stop trying to make it into Java, Go or whatever.  Trying to change it into a language that it&#x27;s not is simply going to cause confusion and chaos, and kill the language.  The things Meyer points out are all correct, but just because it&#x27;s right doesn&#x27;t mean it&#x27;s right for the C++ community.<p>Every language has it&#x27;s own pluses and minuses and thinking you can squash all problems in all languages and make it &quot;perfect&quot; is a losing battle.