Stable fast mature IDE, check.
Git integration, check.
Closest thing to usable multi platform, check.
Efficiency of c# (in getting work done), check.
Minimum of screwing around before you can get to work, check.
Generic programming isn't the same thing as cross platform programming.
C# started off as Java with hindsight, and it's also been evolving much faster than Java has, so its considerably better now.
Mono has also made it cross platform. For example, the Xamarin guys ported Android to run on Mono (ie Java to C#). The benchmarks ran a number of times faster.
But remember Wayland was floundering until just after Mir was announced. Only once all the righteous indignation kicked in did it start going anywhere.
Without Shuttleworth we'd all be stuck in the 70's.