To Microsoft's credit, backwards compatibility has always been high on its list of priorities - which isn't something you can say about Apple. And yet I've definitely noticed that its OS's and browsers do seem to grow increasingly unreliable over time, which isn't something I've observed with its other applications, such as Word or Excel. Having said that, I can tell by the lack of response to that post that this must be something unique to me.

The VC6/VC8 thing that Arjay mentioned is more complex though. When I first started using VC++ I used MFC exclusively. But these days, one can't afford to ignore other platforms and that means having to look at alternative GUI technologies, such as QT, GTK or wxWidgets. Gone are the days when these (equally cumbersome) technologies needed to be built from source. The open source library community has (finally) embraced the practice of doing it "the Microsoft way" and providing developers with pre-built library packages c/w header files.

But if my experience is anything to go by, the pre-built Win32 binaries are invariably behind the times and are rarely compatible with anything later than VC6 or (increasingly now) VC8. So one has to retain those older compilers or use kludgy gcc tools such as MinGW or Cygwin. It's a tricky choice - but on balance, give me Microsoft developer tools any day!