C++ Logo

std-proposals

Advanced search

Re: [std-proposals] The most fair rant on C++

From: Simon Schröder <dr.simon.schroeder_at_[hidden]>
Date: Sun, 23 Nov 2025 08:23:51 +0100
> On Nov 22, 2025, at 9:58 AM, organicoman via Std-Proposals <std-proposals_at_[hidden]>
>
> At the end of his video, he touched on the default, somehow he really makes a point...all C++ defaults are not correct.
> Even the moto of C++ (backwards compatibility, speed) is starting to deplete.

We already know that the defaults are wrong. With your argumentation it seems that you haven’t followed much of the discussions from experts about C++. You should read Design and Evolution of C++ or at least the HOPL papers. This will give you a much better understanding of why the things are the way they are. One of the most important points of why C++ is so successful is because it fully supports C. Any new language that tries to replace C++ has to fully support C++ (and its thousands of existing libraries). D has not replaced C++. My guess is that Carbon also will not replace C++ because it will not be fully compatible. cppfront has a theoretical chance because it is just different syntax, but also changes the defaults. It also allows to mix the old syntax with the new syntax on a per function basis. I don’t like the proposed syntax (but definitely the features of cppfront). Maybe with profiles we can change the defaults. Or IDEs could just display different defaults; we just need new keywords to express the current default behavior (e.g. ‘mut’ as modifier for the new default of always ’const’). The syntax is only kinda, but not really, fixed in stone.

As long as you understand neither the history nor the complexity of decisions, any of your attempts of changing the language or proposing a successor language will change. Besides reading D&E or the HOPL papers you might also want to study trip reports about standardization meetings (e.g. by Herb Sutter). This might give you an idea of the complexity of making decisions and pleasing ALL users of C++.

Received on 2025-11-23 07:24:07