5 ms·
It gets really bad once you need to support a libc5/a.out executable. Linux never cared that much. If you're living in an open source world, binary compatibili
by mhd 5y ago
It gets really bad once you need to support a libc5/a.out executable.
Linux never cared that much. If you're living in an open source world, binary compatibility isn't seen as important. At least that was my impression in the early days, but even now the corporations don't seem to care as much because desktop applications and other binary blobs don't target Linux as much. And for the server-side stuff, you've got containers or VMs.
I would bet that some gamers would cry out if a future revision would derive them of their Steam bloabs.
On the technical side, I do wonder how Windows pulls it all of. Sure, there's more API stability and often fewer external libraries, but there are also the compatibility modes you can set and probably some hidden stuff that you don't have to switch on manually. Wouldn't even be surprised if Windows itself would do a similar thing like GPU drivers and fix some compatibility problems for well-known applications ("I see this is Winword 2.0, so let's work around an allocator bug").
- kcartlidge 5y ago> Wouldn't even be surprised if Windows itself would do a similar thing like GPU drivers and fix some compatibility problems for well-known applications Raymond Chen (Microsoft) wrote a book about it all, and runs a blog which mentions instances too - sorry, I don't have the links to hand, but he is easily found. For important stuff like SimCity and Doom for example the Windows developers tested those apps to find any issues, debugged them, and actually made Windows change its behaviour depending upon the app that was running. It didn't even matter that a bug was down to a game using undocumented features as the team knew Windows would still get the blame from the public/press for it not running, so it became necessary to make sure they worked even if Windows itself had to have per-program hacks added.