points by ameliaquining 4 days ago | 0 comments
The primary reason this hasn't happened is that it'd break C++'s de facto stable ABI (even though officially there's no such thing). For a lot more context, see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p20... and https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p18....
Spoiler alert: The option described as "the sort of leadership failing that I pray we can avoid" is what ended up happening.
[–] imtringued 4 days ago
[–] charcircuit 4 days ago
Who cares about the ABI when the current ABI has a bunch of bad issues with it. For any backwards compatibility thing there is always AI that can rewrite old code.
[–] bluGill 4 days ago
ABI isn't just what rewriting code. Even if you rewrite the code, you still have to test it, certify it, and so on. Because C++ has an ABI, I mix code that is already built with new code and only recertify my new code.
It is a huge pain, and quite honestly, most of the reasons I have to maintain ABI are political and thus not up for a technical discussion, but I still have to do it.
[–] charcircuit 4 days ago
You can make linking against different abi not allowed. And all the stuff you are complaining about can be handled in <24h by an AI agent (swarm).
It's just bureaucracy preventing it, not the actual work needed by people.
[–] NekkoDroid 4 days ago
The compiler vendors care. It is also the reason why C++ never actually had a GC, even if the standard had it specified (and removed it with C++23).
It's not too late to introduce an actual stable ABI though. However, it's not too late to do that in Rust either so I don't see the point in a language specific ABI in the future anyway.