How Microsoft rewrote its C# compiler in C# and made it open source

It also allows businesses to keep updating/paying for new versions of Windows/hardware. If your business has a LOB application that brings in the core of your revenue, you can't just ditch it and rewriting it for a new language/framework/runtime can be costly and risky and hard to justify if there's no tangible benefit for users or your bottom line.

If Microsoft stopped supporting these legacy applications, it might cause businesses to keep using outdated/insecure old Windows versions, and make them consider developing against a different technology than Microsoft (Java, Linux, etc).

For the most part, it's in Microsoft's interest to keep supporting the legacy stuff, at least for the medium term.

We can see though how they're trying to encourage the switch to UWP and .NET Core. Presumably these are expected to be the long term platforms going forward.

/r/csharp Thread Parent Link - medium.com