Skip to content
Tech News
← Back to articles

The Two Factions of C++ (2024)

read original more articles
Why This Matters

The ongoing divisions within the C++ community and the standardization process highlight the challenges of evolving a language deeply embedded in the industry. This fragmentation may influence how companies and developers approach C++, potentially leading to alternative solutions or new languages that better meet modern demands for safety, performance, and adaptability.

Key Takeaways

The dream of a single dialect-free C++ has probably been dead for many years, anyway.

There seems to be a lot of fighting and arguing over the future of C++.

On Reddit and a certain orange website, definitely, but also surely at the official C++ standard committee meetings. You don’t need to look very far.

EDIT (25-11-2024): Typos and phrasing. Mentioned on HN, r/cpp, lobste.rs.

The Absolute State (of C++)

It looks like we’re in the following situation:

C++’s Evolution Working Group (EWG) just achieved consensus on adopting P3466 R0 - (Re)affirm design principles for future C++ evolution: This means no ABI breaks, retain link compatibility with C and previous C++. It also means no ‘viral annotations’ (no lifetime annotations, for example). It doubles down on a set of incompatible goals, ie. no ABI break and the zero-overhead-principle. Whether this is good or bad, it is a (literal) doubling down on the current trajectory of the C++ language.

In the meantime:

I don’t know about you, but if I were to look at all of this as an outsider, it sure would look as if C++ is basically falling apart, and as if a vast amount of people lost faith in the ability of C++’s committee to somehow stay on top of this.

... continue reading