C++26 Just Got Rejected... Here's Why. #cpp #coding #programming
Read the Portuguese translation →
Author: Better Stack · Watch on YouTube
Video authored by the channel shown, not by IANIA; all rights belong to the creator. Transcript and summary generated automatically; the original-language content is preserved.
Original language: English
Original video: C++26 Just Got Rejected… Here’s Why. #cpp #coding #programming · Channel: Better Stack · 01:35 · Watch on YouTube
Topics: Software engineering with AI, Open source and software ecosystems
Summary
Section titled “Summary”C++26 failed its final vote after receiving 60% support, below the two-thirds requirement, and too many national bodies voted against it. The dispute centered on contracts, a feature that adds runtime checks to code. A paper coauthored by C++ creator Bjarne Stroustrup criticized contracts as fundamentally flawed and an existential threat to the language. Although critics said they objected only to contracts, the ballot covered the entire standard, and what happens next remains unclear.
Key points
Section titled “Key points”- C++26 did not pass its final vote.
- The standard needed two-thirds of voting members in favor but received 60% (12 out of 20).
- Nine of 22 member bodies voted no, exceeding the limit of one quarter.
- Contracts, the feature at the center of the dispute, are runtime checks written into code.
- A paper coauthored by the creator of C++ and four other committee members argued that contracts have fundamental flaws.
- The paper said contracts added about 56 pages to an incomplete draft and reflected a 1980s approach.
- The ballot covered all of C++26, even though the paper’s authors said their objections were limited to contracts.
- A petition urged national bodies to vote no, while a counter-paper argued against the petition.
- The outcome’s next steps are unclear, and observers disagree about what the vote signifies.
Chapters
Section titled “Chapters”| Start | Chapter | Summary |
|---|---|---|
| 00:00 | C++26 fails its final vote | The video explains the vote thresholds and reports that C++26 fell short of approval. |
| 00:33 | The dispute over contracts | The video describes contracts and summarizes the paper criticizing the feature. |
| 01:05 | A vote on the whole standard | Although the objections focused on contracts, the ballot covered all of C++26, and the result’s implications are uncertain. |
Quotes
Section titled “Quotes”C++ 26 just failed its final vote. — 00:00
Almost everyone is pointing at one feature, contracts. — 00:33
They called contracts an existential threat to C++. — 00:33
But the ballot covers the whole standard. — 01:05
one feature can hold everything up. — 01:35
Concepts and entities
Section titled “Concepts and entities”C++26, contracts, P2900 contracts fundamental flaws, Robert C Seacord, Better Stack
Full transcript (original language)
Section titled “Full transcript (original language)”00:00 C++ 26 just failed its final vote. And one of the papers arguing against the feature at the center of it was written by the creator of C++ itself. Let’s talk about it. Before a new C++ standard becomes official, national standards bodies vote on it. On October 24th, committee member Robert C Seacord posted the result, disapproved. To pass, it needs 2/3 of voting members in favor. It got 60% 12 out of 20. And no more than a quarter of member bodies were allowed to
00:33 vote no. Nine out of 22 did, that’s 41%. So, what went wrong? Almost everyone is pointing at one feature, contracts. Contracts are checks you write into your code that run at runtime, a bit like built-in assertions. Sounds harmless, okay. But back in August, the creator and four other committee members published a paper called P2900 contracts fundamental flaws. They called contracts an existential threat to C++. They said it adds about 56 pages to the draft
01:05 standard for a version that isn’t even complete, and that it’s a 1980s approach that ignores about 50 years of progress. Now, okay, a big block. So, the crazy part. They said they had nothing against the rest of C++ 26, just contracts. But the ballot covers the whole standard. There was even a petition urging national bodies to vote no, and a counter paper arguing that the petition was wrong. What happens now isn’t clear. Seacord called it sort of a sad day for
01:35 the community, while others are saying it proves the national bodies are actually paying attention. Even the biggest languages are built by committees, and one feature can hold everything up. If you want more coding tips and tricks like this, be sure to subscribe to the Better Stack channel.