Hacker News new | past | comments | ask | show | jobs | submit login
What is ABI, and What Should WG21 Do About It? [pdf] (open-std.org)
21 points by gpderetta on Jan 22, 2020 | hide | past | favorite | 6 comments



One benefit of taking an ABI break is that it's a chance to fix the divergence that has emerged between the LLVM world's and the gcc world's interpretation of the C++ mangling spec. https://github.com/itanium-cxx-abi/cxx-abi/issues/68 Although no-one seems to care about that except me.


You're not alone! There are dozens of us!

Mangling is a buggy, half-assed mess.


Could someone add C++ somewhere in the title? I don't think that WG21 means anything to people who don't follow C++ ISO committee business.


I think there is an intrinsic tension in how C++ is being developed: the desire to expand the language and the desire to maintain backwards compatibility pull in different directions. As this proposal notes, there are many mistakes in the language and the standard library that can't be corrected because of that desire to maintain compatibility.

Essentially, I think that over the next decade the desire to maintain C++ relevant will eventually win out and there will be several breaking language releases (or perhaps a very big one) where C++ will correct itself. Stroustroup's comment about how there is a "smaller, safer" language inside C++ waiting to break out come to mind. However, the impact on the ecosystem will be large, as it was with the std::string breakage, but probably worse.

If it turns out that I am wrong then I think that C++ will just eventually fade out, crippled by its own weight and internal inconsistencies. It will always be there because of how much software is written with it, but "I'll be the next COBOL" is not really a great life insurance policy.


Note, WG21 here is the C++ ISO committee.

This is about whether C++ should guarantee explicitly ABI compatibility till the end of time or should attempt to break the ABI more aggressively.


Some men just want to see the ABI Burn.

I think there are many compelling arguments to "living at head" and committing to breaking backwards compatibility. If it means making many base constructs of the language as performant as expected.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: