Linked by Stefan Michalowski, M. Sc. on Thu 19th Aug 2004 08:27 UTC
Editorial Lately posted on Slashdot, an article written by Joel Spolsky mentioned the trouble through which Microsoft went to make each version of Windows backwards compatible. In one case, for the game Simcity, they even changed the way memory handling was done when running that application. You can find additional stories of software tricks that recent versions of Windows have to perform in order to run these bug-dependant applications on the web. After reading the story, I discussed with a couple of friends how weird this was and how Free Software completely avoids this problem.
Permalink for comment
To read all comments associated with this story, please click here.
by Rayiner Hashem on Thu 19th Aug 2004 16:56 UTC

Lot's of OSS projects take care not to break backwards binary-compatibility: glibc, KDE, gnome, qt, gtk+, etc.

GCC keeps breaking C++ compatibility, and with good reason. I'd rather not have to live with ABI bugs just so some stupid closed-source program I don't even use can keep working. In contrast, Visual C++'s hell-bent desire to keep backwards compatibility have hurt it. GCC 3.x uses a cool table-based exception-handling mechanism that has no runtime cost. Meanwhile, Visual C++, to preserve compatibility, can't use this sort of mechanism, and uses Windows' structured exception handling, which entails a performance hit.