I just had to post something against the classic /. hivemind. What do I do to myself. You see, I mentioned APIs specifically, because I was talking about their APIs. Not Office. Not their latest shiny UI throw up. Their APIs. I'm a dev, I've been using their APIs extensively for close to two decades, and that's the perspective I wanted to give. I wasn't commenting on the quality of Linux vs Windows IOT, or the benefits (or lack thereof) of backward compatibility.
you can go look up how .NET's incompatibilities between versions cause havoc. Don't forget to look up Win32 System API calls, especially in the security area.
Yes, you can.
Newer .NET versions tend to, in the vast majority of cases, be backwards compatible with apps compiled for older versions. They have broken this in some very niche cases, but only where strongly justified. Their wont for backward compatibility is so great, they will leave in bugs and even keep the internal structure of objects the same to ensure any apps relying on that continue to work. I've submitted my share of bugs that ended up in the "won't fix" pile due to this.
Their Win32 API is probably the single largest working example of "backward compatible" you'll find in an API. The thing is for better or worse riddled with deprecated functionality, "Ex" functions to replace it, and structs which need to know their own size. Run an old Win32 app from the Windows 95 days and there's a really good chance it'll still work today. There are very few cases where they've made something specifically not work, and that has sometimes been because people have been using it wrong to the detriment of the user (i.e. retrieving the Windows version).
Their driver side tends to fluctuate a bit more as they make performance or safety enhancements by replacing the various APIs, but there's really no way around that.