No one has made more Windows features obsolete than Microsoft. This addiction to making code non portable even between the many Microsoft platforms is in part the encouragement for alternative solutions like Lazarus.
I know this is a 6 year old post however, can you give some examples of what Microsoft has made obsolete and encouraged to be obsolete? Microsoft is well known for purposely making 10 year old software work on their platforms, they even went in and modified the operating system to work around bugs that other developers created who have nothing to do with microsoft (third party apps).
The whole blog, titled "Old New Thing" describes all the efforts Microsoft has made to make old things work on new things.. (hence blog title)
Quote From Joel Spolsky:
"The Old New Thing is chock-full of detailed technical stories about why certain things are the way they are in Windows, even silly things, which turn out to have very good reasons.
The most impressive things to read on Raymond's weblog are the stories of the incredible efforts the Windows team has made over the years to support backwards compatibility:
I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no"...
..."The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it."Much work is done in Lazarus to mediate the penchant for Microsoft to make portability insecure.
One thing I can think of that Microsoft made non portable is old Visual Basic IDE which is no longer in use and people have to change over to .Net. But if Microsoft really wanted to tick off developers, it would make the Win32 API obsolete, which people still use now... over 20 years later after it was originally developed. To have an API like win32 last 20 years, and people still create brand new projects using the winapi 20 years later... is pretty impressive with today's throwaway software attitude.
Complaining about microsoft is easy... but look at all the things that break with apt-get debian or other unix issues. It's easier to complain about one system, and ignore the problems of your own system. As an example, MacOSX is no better... they made all their old MacOS apps incompatible with the newer OSX. Easier said than done, to make things all backwards compatible. Sometimes a fresh start is best... Such as deleting all unix and windows systems off the planet and creating a good OS from scratch. Plan9 tried, and failed...