top | item 42297366

(no title)

saltminer | 1 year ago

The fact that C++ development has been effectively hijacked by the "no ABI breakage, ever"/backwards compatibility at all costs crowd certainly speaks to this.

https://herecomesthemoon.net/2024/11/two-factions-of-cpp/

There are a lot of pre-compiled binaries floating about that are depended on by lots of enterprise software whose source code is long gone, and these are effectively locked to x86_64 chips until the cost of interoperability becomes greater than reverse engineering their non-trivial functionality.

discuss

order

KerrAvon|1 year ago

C++ language spec doesn't specify and doesn't care about ABI (infamously so; it's kept the language from being used in many places, and where people ignored ABI compat initially but absolutely needed it in the future, as with BeOS's Application Kit and Mac kexts, it's much harder to maintain than it should be.

"two factions" is only discussing source compatibility.

ryao|1 year ago

They had ABI breakage when C++11 support was implemented in GCC 5 and that was extremely painful. Honestly, I still wish that they had avoided it.

glandium|1 year ago

You can still use the old ABI with -D_GLIBCXX_USE_CXX11_ABI=0