This article is more than 1 year old
Microsoft boffin inadvertently highlights .NET image woes by running C# on Windows 3.11
Old? Windows-only? Community struggles with '40-year-old male' problem
Microsoft senior software engineer Michal Strehovský has run a small .NET Core application on Windows 3.11, a version of the OS released in 1993.
Strehovský posted this achievement on Twitter, explaining that it demonstrates C# compiled to native code with few dependencies. Windows 3.11 is 16-bit, but includes a library called Win32s, which supports some 32-bit applications. "Turns out the object files produced by the CoreRT ahead of time compiler from 2020 can still be linked with the linker that shipped with Visual C++ 2.0 in 1994," he wrote.
While not of any practical use, the example shows Microsoft's progress in compiling self-contained .NET Core executables, as noted by Microsoft partner program manager Scott Hanselman. Success in this case hinges on the use of CoreRT, described as an "experimental .NET Core runtime optimized for AOT (ahead of time compilation)". Microsoft has indicated that it plans to make compilation of .NET code into native single-file executables part of .NET at some point, but has "no plans to productize [CoreRT] in its current form".
Strehovský's post with C# running on an ancient version of Windows is intended to show us something interesting about its future, but does so with echoes of the past. Does Microsoft have an image problem with C# and .NET – that it is perceived as old and tied to Windows, rather than cutting-edge technology?
Last week Microsoft ran its "Ignite on tour" event in London, the idea being to share news from the main Ignite event last November in Orlando. London-based developer David Whitney attended a .NET community panel there and was struck by the demographic profile.
He said on Twitter: "We're all very aware that technology has a huge representation problem. I absolutely adore the .NET community that has been my 'spiritual home' for almost two decades. But here's an uncomfortable truth – it's a number of orders of magnitude worse in our community. In its current form .NET is for 40-year-old white men. That's the visual."
Microsoft's Mikayla Hutchinson, a principal software engineer who works on .NET tooling, agreed, saying: "I've lost count of the number of times I've had this conversation, and although folks are generally sympathetic, translating that into concrete change is difficult."
.NET developer José Manuel Nieto responded with his own summary of .NET's image problem, stating: ".NET doesn't get much love from younger devs."
He pointed the finger at the lack of compelling cross-platform GUI technology, Microsoft's enterprise focus, and the fact that Visual Studio is a paid-for product.
The issue is real, though, and the company has a challenge in marketing C# .NET to a younger and more diverse range of developers. ®