Sorry Windows, It's You, Not Me.

TL;DR Self-indulgent post about how I am finally going to kick Windows out the door.

The last couple of weeks have been rather strange. I’ve moved from a position of living with Windows in my day job to detesting every morselized key-stroke I have to make in our soul sapping co-existence. Let me make one thing clear about this post however, I’m not leaving .NET, but I am leaving Windows.


I’ve been enamored with C# and .NET since sitting inside Microsofts’ HQ being shown their upcoming new language. When Macs started to appear in our household around 2004, and satisfying previous fraternization with Linux, I started to move back to C and onto PHP for a new business venture.

Since then and through my on-going polyglot adventures I’ve used many more languages, and even the odd framework, but .NET remains the most commercially viable for clients, with only golang and Kotlin now making inroads. I’d hoped Mono would save the day, but there’s always a price to be paid for salvation.


I’ve plugged away with Mono for many years in an effort to reach my Holy Grail, but when Xamarin became focused on mobile and away from ‘Mono on the server’ progress stagnated and faith in Mono as a viable commercial alternative suffered greatly.

Many of us continue to plug away ensuring Mono compatibility in our software, contributing to community efforts, even to Microsoft, but I foresee for C# and .NET to survive there needs to be a colossal shift – from Microsoft.


I’ve petitioned Miguel de Icaza to help the community without success. The truth is that their business is rightly focused on their own vision, and that’s mobile. The interest in .NET and C# succeeding now ironically seems to sit with Microsoft, and so I believe it is them who should take Mono under their wing, and make .NET cross-platform.

I propose this as viable because I believe so much of their developer base (and dare I say the innovative and talented developers) are shifting away to such an extent this is now THEIR salvation. Growing popularity of JVM and natively compiled languages mean C# and .NET will ultimately suffer, and so will Windows and its products.

So there, I said it ;–)