4 ms·
The explanation for any strange behavior by a Microsoft program is almost always "to maintain compatibility with legacy applications." It's not entirely unique
by whoopdedo 12y ago
The explanation for any strange behavior by a Microsoft program is almost always "to maintain compatibility with legacy applications." It's not entirely unique to Microsoft, but they're pretty obsessed with not breaking things.
- xorcist 12y agoPeople keep saying that they're obsessed with it, yet I've had better results running an (admittedly, quite old) booking system under dosbox on Linux than on Windows post-XP. And I regularly advise people to try LibreOffice when Word refuses to open old documents properly. YMMV. They also didn't hesitate to break pretty much all TCP/IP using userland with the firewall transition in XP SP2. Which was the right thing to do at the time, mind you, just not terribly conservative. Linux still runs a.out binaries (and that transition was in only in '96), but they still have quite a bit to go in comparison to a S/360 which runs JCL programs from '78 unmodified. That's obsession for you.
- yuhong 12y agoAFAIK the worst at compatibility is Word 2011 for Mac. It wasn't difficult for example to find Mac Word 5.1 documents that open perfectly fine in Word 2010 for Windows (after unblocking the file format) which would display nothing but garbage when opened in Word 2011 for Mac.
- marcosdumay 12y agoLinux does run a.out binaries, but every odd minor revision of glibc breaks the ABI. Yes, Dosbox does have better compatibility with old systems than Windows, but it's only job is providing compatibility. This is not a fair comparison. (The LibreOffice comparison is completely fair, Office is simply bad at maintaining compatibility - and almost everything else.)
- xorcist 12y agoWell, Windows also keeps compatibility layers whose only job it is to run legacy code. If a handful of enthusiasts can do a better job on a completely different underlying operating system, they have obvious improvement possibilities. The curse of Linux is that every moving part is its own project. Libc and the gcc C++ API is notoriously problematic with backwards compatibility, so the backwards compatbility of Linux as a whole is also restricted. I just want to question the often-repeated picture of Microsoft as obsessed with backwards compatiblity. Where does that idea come from? I'm just not seeing it at all. A new Windows box will not even authenticate with a too old AD server. If you want examples of backwards compatibility, look at S/360, AS/400, VAXen, pretty much any other operating system with an enterprise prescence.
- krylon 12y agoI feel kind of weird saying good things about Microsoft, but for better or worse, they have done a really impressive job about maintaining backward compatibility. Given the horrors their programmers must face in the name of this objective, I imagine they are not obsessed about it for its own sake, but because of legions of customers running badly written legacy applications they cannot or will not change, who will get very angry if Microsoft breaks their precious applications. Just remember the uproar when Service Pack 2 for Windows XP was released, where Microsoft deliberately broke compatibility to improve security.