46 points uasi 3 hours ago 31 comments
xiaoyu2006 1 hour ago | parent
HackerThemAll 1 hour ago | parent
zombot 54 minutes ago | parent
edflsafoiewq 28 minutes ago | parent
zombot 24 minutes ago | parent
BonusPlay 1 hour ago | parent
This may be similar to Java vs Kotlin race, where Kotlin added improvements, while Java was still stuck in 1.8. The answer was to add as many features to the language as possible. Looks a bit like C++ is starting to do the same.
HackerThemAll 1 hour ago | parent
Because Java is losing market to languages with many features. Which is good. Given history of Java under Oracle supervision, and the availability of Rust, Go and C#, I won't ever touch any JRE-based language.
quikoa 3 minutes ago | parent
weinzierl 1 hour ago | parent
9 out of 22 countries voted "no", six would have been enough. These were Denmark, Finland, Iran, Italy, Japan, Luxembourg, Romania, Spain, and Sweden. In a addition and independently only 12 of the 20 participating members approved when 14 were needed.
The dispute is most likely because of a single feature called "contracts".
Very simplified these are conditions placed in a function's signature that are supposed to be checked at runtime.
The proposed implementation of this feature has been controversial from the start with prominent members of the community (Bjarne Stroustrup amongst them) expressing concerns.
chiharukiryu 1 hour ago | parent
groos 1 hour ago | parent
zombot 47 minutes ago | parent
Chaosvex 8 minutes ago | parent
jdw64 46 minutes ago | parent
hasley 22 minutes ago | parent
jdw64 16 minutes ago | parent
I’m a “traveling programmer” in Korea. But when I go out to a work site because they say I have to work on C++, as you know, there are so many versions that it’s painful.
rfgplk 58 minutes ago | parent
Most of the things the committee has been "working on" are realistically _side projects_ today with AI. I've made countless additions to my clang fork the most notable being a source compatible borrow checker, ie you turn it on and it tells you where you effed up. Zero source changes. Equally as correct as Rust. For any sane C++ program. The committee still isn't capable of implementing this btw.
spacechild1 39 minutes ago | parent
zombot 57 minutes ago | parent
Someone 52 minutes ago | parent
This was the vote to promote the current proposal to draft standard.
mananaysiempre 52 minutes ago | parent
[1] https://www.iso.org/stages-and-resources-for-standards-devel...
weinzierl 51 minutes ago | parent
Also: LEWG is the Library Evolution Working Group.
affenape 48 minutes ago | parent
qalmakka 56 minutes ago | parent
I understand the concept but having a feature that's not consistent among compilers, targets, ... all while doing absolutely nothing to solve the _real_ problems with C++. Like that the build model is still the obsolete TU model of C, while adding multiple compile-time features that inevitably end up causing build times to skyrocket considerably. Or that modules are still DOA after 6 years. Or that the syntax is full of bullshit anti-features that could be at least fixed by having a proper build model (like Rust) and editions (like Rust).
Having yet another feature that only works sometimes with quirky semantics is dumb and I understand why many people feel like it should be shelved to prioritise the features people _really_ care about, like meta
zombot 34 minutes ago | parent
And what are those? You seem to assume that "everyone" (except the committee) is in agreement about them.
I like the editions idea. We could have a memory-safe C++ successor without being weighed down by old mistakes.
Vaushite 22 minutes ago | parent
rurban 51 minutes ago | parent
Because here it is trivial to make them backwards compatible, by just using a PRE() and POST() macro which are empty pre-C++26.
The contracts_assert is either static or runtime, which the compiler can decide. Better than explicit static/asserts, which are either unnecessary or costly.
koe123 50 minutes ago | parent
IshKebab 41 minutes ago | parent
From a language perspective the only one I can think of is that C++ coroutines are much more powerful than what Rust gives you at the moment, even though they are very footgun-dense (quelle surprise).
But yeah, overall there is very little reason to pick C++, especially now it's feasible to translate existing C++ to other languages.
ankurdhama 7 minutes ago | parent
But isn't using Qt like learning a whole new layer of language on top of C++, the meta compiler, signal/slot system etc and then Qt have its own set of standard classes like QString (instead of using std::string)