3 ms·
C++ takes compatibility very serious. Though it has ABI stuff here and there you need to deal with due to its fully native AOT compilation nature.
by germandiago 3y ago
C++ takes compatibility very serious. Though it has ABI stuff here and there you need to deal with due to its fully native AOT compilation nature.
- deepsun 3y agoJust curious, isn't Go compilation fully native? Java I know, it's technically interpreted (transpilation not compilation), but Go?
- pjmlp 3y agoKind of, there are plenty of breaking changes as well, three that quickly come to mind, removal of exception specifications, std::auto_ptr<>() removal, and the new semantic changes due to the way <=> behaves.
- germandiago 3y agoFor the former two, breakages have replacements and are a vestige noone used for a long time. Besides that, compilers have switches to treat throw() as noexcept. As for the latter, those breakages are relatively rare.
- pjmlp 3y agoSomeone still has to write those replacements, and no, not all compilers have such switches. Besides that was only a quick set of examples, if I would bother going through my ISO copies, there would be a couple more to list.
- germandiago 3y agoDo you still think those are breakages that get in the middle a lot?
- pjmlp 3y agoDepends on how lucky one happens to be, specially in large code bases, touched by dozens of consulting companies, and offshoring deliveries.