.NET Tools
Essential productivity kit for .NET and game developers
The Developer Ecosystem in 2022: Key Trends for C#
It’s that time, again! The software development industry at large starts the new year with a retrospective of the previous. Just like during our software development projects.
We at JetBrains run the Developer Ecosystem Survey yearly to capture the zeitgeist of the development world. While the survey covers many languages and technologies, this recap focuses on C#. Enjoy the results and commentary of the survey!
Top C# Discoveries
.NET overall continues to be a solid platform for many types of applications and companies. While C# 11 is the current version, it was released in November 2022 so a full year of data for the release version of it doesn’t exist yet and our survey contains up to C# 10. Let’s start by digging into C#’s popularity by the version.
In both 2020 and 2021, more than half of C# developers were using version 8. Since 2021, half of C# developers are using C# 10. C# 8 is down to 33% and version 9’s numbers have risen just a little bit from 30 to 32%, so it looks like a lot of places upgraded straight to C# 10. As always, companies want to extend the lifetime of software as much as possible and often only upgrade when new features will significantly enhance some aspect of their software. Speaking of legacy code; 24% of those surveyed use C# 7 which was released in 2017.
C# is a highly popular language in general – in the top 10 of all languages. Within the .NET stack, language popularity remains stable from year to year. It’s C# in the lead followed by HTML and JavaScript. Considering the Key Takeaways overall from this survey shows that 75% of developers do web development, this is expected.
In the previous several years as well as in this survey, TypeScript has followed JavaScript and after that, the rest of the .NET languages: VB.NET and F#. Yes! These are useful languages even if they aren’t the most popular. And keep in mind, Rider and R# support them all.
Unsurprisingly, ASP.NET Core is the most popular framework with .NET developers. And it makes sense that Entity Framework follows it, since that’s an ORM created by Microsoft. Any 3rd party data access frameworks or ORMs fall into the “other” category. After that, it’s cloud, games, and specific frameworks like Razor Pages, React, ASP.NET WebForms, and others.
So far as the runtimes go, the .NET runtime one uses could vary greatly depending on many factors, but there is one thing we’ve noticed, as stated by JetBrains .NET Advocate, Maarten Balliauw: “.NET Framework is not gone yet. For those adopting newer .NET versions, it seems they follow the LTS versions with .NET 6 being second, almost on par with the full framework.”
Good news! Rider is gaining popularity. This seems obvious to us but we already know how awesome Rider is. Are you unsure and haven’t tried it yet? Go on and download a trial today.
We can’t talk about IDEs without talking about plugins. So far as Visual Studio goes, either folks are using no plugins whatsoever, or they’re using ReSharper, coming in at 47% and 36%, respectively. The rest of the popular plugins are in single digit percentages, so you probably won’t see them on your team anytime soon.
For Visual Studio Code, it’s all about C# first. C# Extensions and C# for Visual Studio Code are the two most popular plugins but Unity, .NET Core Tools, and NuGet tools are also quite popular. Since Visual Studio code is made to provide basic functionality with lots of plugins, we expect this trend to continue with many folks using more plugins in VS Code rather than Visual Studio.
The scene around unit testing remains largely unchanged. You must return to 2019 in order for MS Test to be more popular than xUnit. For the next few years we suspect that xUnit and NUnit will hold steadily unless tooling nudges usage in one way or the other.
Interesting takeaway: more developers don’t write tests (16%) than do so with MS Test (14%). On that note, here’s what Dennis Dietrich of Microsoft Azure had to say about testing: “As a former SDET, I find the percentage of C# developers who don’t write any unit tests disappointing. I had hoped that by now there’d be a consensus about the benefits of unit testing in general. It’d be interesting to find out why this is. Do the developers not believe in the benefits? Is it a matter of a lack of training or engineering culture? Is management pushing back on the short-term investments that unit testing requires?”
Performance and profiling remain as more specialized tasks that certain folks on a team do. But they’re important for software quality. We’re hoping that folks will continue to move from the “From time to time” group to the “Regularly” or “Constantly” group. But for now, 74% profile only from time to time when issues occur, which is the vast majority of developers. 19% profile regularly and even fewer incorporate profiling into their CI process. Profiling can help uncover problems before you scale into troubles. Fortunately, we have dotMemory and dotTrace to help you profile to get ahead of potential issues.
Conclusion
As usual, the .NET ecosystem, particularly C# remains a good choice as a career path. Folks move to newer versions at steady paces while there’s always a not-insignificant number of legacy developers. Rider and ReSharper are doing great and show that more developers are gravitating toward higher quality tools each year. Meanwhile, profiling is a bit more common than last year, let’s hope that trend continues.