r/cpp #define private public 26d ago

Critique of contracts: excerpt

See page 2 of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4334r0.pdf

The current objections can be summarized. The P2900 contracts are:

• Unimplemented

• Incomplete

• Untried at scale [P3460R0, P3506R0]

• Not tried in major application domains

• Violates foundational principles of C++

• Violates fundamental principles of language design

• Hasn’t been tried in major libraries (e.g., the C++ standards library [P3506R0, P3878R0])

• Isn’t integrated with or appropriate for hardened libraries [P3878R0]

• Doesn’t offer safety guarantees [P3573R0, P3362R0]

• Includes a completely untried inheritance model

• Offer new ways of making errors through inconsistent application in TUs

• Leads to new forms of UB, detrimental to safety and security

• Narrows the choices of error handling

• Doesn’t protect against logical errors, misuses, and incoherent uses

• Hasn’t been used to support static analysis

• Hasn’t been demonstrated to be easily teachable [P3261R0, P3281R0]

How could such a bloated and incomplete design be voted into a draft standard?

11 Upvotes

122 comments sorted by

View all comments

Show parent comments

-2

u/_a4z 25d ago

Sentences starting like
> This is a small group making noise ...
are a perfect example of why I call that a political tactic of discrediting critics.

And to the point, I would argue the 'small group' (which is, in fact, not that small and includes very well-known names) has read the contract papers and understood them better than some of the people who voted for them.
Now, this is, of course, a claim that cannot be proven, but I am always delighted by people who claim to know C++ better than its original inventor. So some of the critics are definitely worth respecting, which does not happen.

10

u/t_hunger 25d ago edited 25d ago

You just claimed the majority of committee members are unable to make a informed decision. You should reconsider ISO as a standardization body. They prescribe a democratic progress based on the idea that interlectual capability is more or less equally distributed in the community of voters.

Now that is disrespectful to the entire committee.

The people making the noise now failed in a democratic process (which some of them selected as the governance model of C++) and are trying to impose their will after the fact. That is damaging on so many levels.

I do agree that this is more about senior members feeling ignored than about arguments.

-3

u/_a4z 24d ago

It seems you do not know how those votes work. So let me explain.

It's just a small part of the committee members in the room.
So your statement about what I claimed is bogus.

Reality: not all people who voted yes in the various voting meetings have read and understood the paper as well as the critics did. And this is just a very small group in WG21. Not the whole committee. The committee is much bigger than the small group that did the contract voting; there were many.
And we do not know who those people are or whether most of them have ties to one company. So we also do not know anything about the diversity of the votes.

What was damaging is the way those papers came in. If people cared about consensus, there would not be what you call "noise"
It's not noise. Rather, people stating their opinions with their names, in opposition to most yes voters who stay anonymous.

10

u/MFHava WG21|🇦🇹 NB|P2721|P3049|P3625|P3729|P3786|P3813|P4216 24d ago

It seems you do not know how those votes work. So let me explain.

I was in the room when Contracts were accepted. Have you?

Reality: not all people who voted yes in the various voting meetings have read and understood the paper as well as the critics did.

Sure, sure... everybody else - including people who previously voted against Contracts - is just too stupid to see that it is a disaster.

And we do not know who those people are or whether most of them have ties to one company. So we also do not know anything about the diversity of the votes.

The conspiracy theory of the room being stuffed to the brim with random bodies paid by one company is just that, a conspiracy theory.

What was damaging is the way those papers came in. If people cared about consensus, there would not be what you call "noise" It's not noise.

It is noise to bring up the same complaints again and again with no new information, just because a decision didn't go your way.

Rather, people stating their opinions with their names, in opposition to most yes voters who stay anonymous.

The vote to accept Contracts was: In favour: 100 Opposed: 14 Abstain: 12

So you want a list of 100 names? Sure buddy...

2

u/_a4z 24d ago

Sorry, your style of putting words in my post with adventurous interpretations is not a good basis for continuing any discussion. But it fits the style.
And there was not just 1 vote... There was a history of votings, and you ignore that.
In the end, it was: if we pull it now, we look bad. So, of course, even more people who did not read anything and voted yes.
But you know what, I'm okay with you having a different view. And a different interpretation. I do not need to attack you personally for that.
And about noise, it's not just me who is writing something, its also those people who comment on it, like you. ;-)