The .NET I'd never thought I'd get

.NET 5

.NET wasn’t always what it is today. It started out as a primary Windows-only platform under the .NET Framework. This was despite the fact that it was submitted and accepted to the EMCA and ISO for standardization as a cross-platform framework both when writing and publishing applictions. That was my major gripe that turned me off of coding for the platform after garbage collection.[1] I only choose to learn it for a project that was written in it.

This hasn’t stopped me from wishing Microsoft would change it to become offical cross-platform and be able to build bundled, similar to JAR, or native executables. The standardization meant Xamarin was able to provide the former long before they were brought. I shrugged at the thought of the latter. The standard purposely left this up the person or company to define how an application would be built. Obviously, Xamarin took advantage of this. But I also wanted Microsoft adopt all the good parts of Java, like a cross-platform GUI toolkit and be open source as well as my previously mentioned requests.

… And they did. O_o Under Nadella, Microsoft not only worked to make .NET cross-platform with Core but open sourced it too under the MIT license. They even relicensed .NET Framework under the same license, despite it’s ties to Windows, as well as Forms and WPF, which now target Core (but still require Windows). After six years, Core has reached the point of succeeding where .NET Framework left off. Now, Microsoft is merging Xamarin and Core codebases into into one unfied platform known simply as .NET 5. And I’ve never been more proud.

And begining with .NET 5, they’re streamlining building bundled executables that were first introduced in Core 3.0. They’re also began laying down the foundations to start the next evoluation Xamarin Forms called MAUI. The latter is similar to Java’s Swing in terms of it’s development workflow but it uses the toolkit uses the system’s native UI instead of relying on it’s own. They’re hoping to have MAUI ready in time for .NET 6, the next LTS.

Now, I’m not alone in asking for one or more these features I’ve mentioned. Knowing Microsoft’s past behaviours, I wasn’t giving my hopes up that they’d listen. Nadella could have easily shot himself in the foot and continued in Ballmer’s footsteps but he didn’t. But it’s obvious Ballmer understood that it was there money maker. I’m just not sure he realized that Windows needed .NET more than .NET needed Windows. I could go on theorizing. ¯_(ツ)_/¯

I wasn’t always a programmer. I wanted to be but never dreamed I would become one - still feels surreal. Ever since Core, I’ve continued to move forward in my programming on the platform and that’s made me feel more confindent in myself. Even despite my own and others (from a long time ago) doubt.

Thank you, Microsoft, for proving me wrong. I look forward to the future with .NET. 🥂


  1. I did put my gripes over garbage collection beside me when I came to the conclusion that computers have become powerful enough that it doesn’t matter that much anymore. This doesn’t dismiss people’s valid criticisms. Garbage collectiom doesn’t suit all scenarios and their implementation also matters. Luckily, .NET is pretty good about it.
Written on May 19, 2020