It's in Microsoft's interests for there to be a strong alternative C# implementation. This is just so they can reassure their customers against the risk of vendor lock-in (and M$ does need to reassure customers about that risk).
For example, I've taken a semi-detailed look at both Java and C#. I find C# and .Net to be very pleasant to work in. I would totally choose C#/.Net for my own startup over Java.
For example, I've taken a semi-detailed look at both Java and C#. I find C# and .Net to be very pleasant to work in. I would totally choose C#/.Net for my own startup over Java.