In the annual Stackoverflow survey, .NET is the most loved platform from developers and the public!
As someone who has built more than one popular platform on .NET (DotNET for the marketing conscious), I often get asked about its relevance and whether it’s an ecosystem really worth investing in. This question is especially popular among folks living in the tech distortion field in the San Francisco Bay Area where tech fads come and go like the changing seasons, but .NET remains steadfast as not only a consistently popular platform, but as far as I’m concerned, the most holistically productive, delightful, and accessible platform there is.
Yes, there are other fantastic languages out there; I see you, Rust! Yes there are other fantastic App UX platforms, hello, Flutter, you’re gorgeous. But for all-round productivity and elegance, nothing else stacks up.
The .NET today is not your parent’s .NET, and there’s a reason why it’s won most loved platform 3 years in a row in the annual StackOverflow developer survey. In fact, combining .NET Framework (a little older), with the new .NET Core stuff, it blows everything else out of the water by a longshot:
Perhaps even just as telling; .NET also shows the strongest positive sentiment of love vs. dread of any framework in the survey.
To understand why developers love .NET so much, let’s examine the .NET experience holistically.
The tooling is best-in-class
First up is the tooling; .NET enjoys first class support in Visual Studio for Windows, Mac, and limited support in VS Code (an omission on Microsoft’s part that we’ll discuss below). Together, they represent the most utilized IDEs in the world, in fact VS Code is the absolute reigning monarch of IDEs, used by over twice the number of folks as the second most utilized IDE (Visual Studio, of course):
It runs everywhere.
Much like the 1990s dream of Java, .NET runs on every major platform out there, and has custom, integrated tooling to take advantage of each platform on most. While it was first locked on Windows, today, it’s at home on Windows, macOS, iOS, Android, Linux, Mainframes, and even microcontrollers. It also runs natively in the cloud; Azure, AWS, and Google Cloud all have built-in .NET application support.
There’s a spectrum of elegant languages to choose from.
A core feature of .NET is the Common-Language-Runtime (CLR), which enables applications to be written in over 25 currently maintained languages, including C#, and F#; two of the finest languages on the planet, as well as VB.NET; which while being a favorite language to poke fun at, is incredibly powerful in its own right.
There is a massive community and skilled labor-force
Depending on how you count, there are somewhere between 20–25MM³ active developers. By our own research, at somewhere north of 10MM, nearly half the active devs in the world either know, or actively develop in .NET.
And that ecosystem of developers has grown every single year since the inception of .NET. So at a time when it’s notoriously difficult to hire developers, you can rest assured that .NET enjoys one of the largest development talent pools to pull from.
It’s still growing fast, too; the latest TIOBE Programming Language Index, which indicates the overall popularity of a language shows that over the last year, C# has seen, by far, the largest increase in popularity and is expected to enter the top three, replacing C⁴. In fact, when combined with VB.NET, it easily ties for first place.
It’s technically beautiful.
2016’s .NET Core remodel stripped .NET down to its bare bones and created a modern, ultralightweight and composable, a la carte way to consume the minimum necessary platform libraries directly from its modern package ecosystem, Nuget. It also dropped the legacy Win32 platform connections, paving the way for a truly cross-platform experience as it merged the innovations that the Mono and Xamarin team brought to the runtime and tooling.
.NET Core also enabled it to get a whole lot more performant; by breaking from the legacy .NET Framework runtime constraints, Microsoft was able to include a litany of performance improvements across the board.
And speaking of performance, Xamarin’s innovative Ahead-of-Time compiler (now mainlined into the unified .NET) means that developers can ship binaries that are compiled all the way down to chip architecture specific assembly code at build-time, enabling native C/C++ performance from memory-managed applications.
That intrinsic memory-managed approach pays dividends in reliability and security too. From a reliability perspective, it virtually eliminates the instability and crashes due to memory leaks that are so common in unmanaged applications such as those written in C/C++. From a security standpoint, the memory safety achieved from a memory-managed platform eliminates a whole swath of security issues due to memory usage which, according to Google, accounts for roughly 2/3rds of all unmanaged security bugs⁵.
It’s 100% open-source.
All aspects of Microsoft’s .NET are open source and free to use, including class libraries, runtime, compilers, languages, and application frameworks⁶. You can find the source code all in one place on GitHub, in the DotNet repository.