C#

Share:

The C# questions were only shown to the developers who chose C# as one of their three primary programming languages.

What versions of C# do you regularly use?

50%

C# 10 (file-scoped namespaces, global usings, record structs, extended property patterns)

32%

30%

C# 9 (records, target-typed new, top-level statements)

33%

50%

C# 8 (static local functions, nullable reference types, default interface methods)

24%

39%

C# 7 (pattern matching, local functions, ref locals and returns, out variables)

16%

27%

C# 6 (? and nameof operators, static imports, exception filters, Roslyn)

5%

27%

C# 5 (async / await, caller info attributes)

2%

5%

An earlier version

10%

12%

I'm not sure

Given that moving from the .NET Framework to .NET usually isn’t as simple as changing the target, it’s interesting that most developers are at least on the .NET (Core) train. At the same time, it’s surprising that a significant percentage of developers still maintain projects targeting .NET Framework 4.6 and earlier. I’m curious what’s keeping these projects from moving to 4.8.

Dennis Dietrich

Senior Software Engineer, Azure Storage, Microsoft

I see it as a good thing that more devs are using the latest C# version. I wonder if they are moving more legacy apps to the newest .NET version, or just creating new apps and systems and leaving the old legacy code behind.

Chris Woodruff

Team Leader, Engineering, Rocket Homes

Which programming languages are you using in your
.NET project?

99%

C#

30%

HTML/CSS

26%

JavaScript

18%

TypeScript

6%

VB.NET

3%

F#

1%

Other

C# remains the undisputed language of choice for .NET developers. VB.NET and F# are also used, but more often it’s C# and frontend languages such as JS and TS.

Maarten Balliauw

Developer Advocate, JetBrains

Which runtimes do you regularly use?

49%

62%

.NET Framework

47%

.NET 6

43%

66%

.NET Core

24%

33%

.NET 5

10%

12%

Mono

5%

I'm not sure

C# developers use .NET Framework and .NET Core significantly less now than they did last year (down 13 and 23 percentage points, respectively).

.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.

Maarten Balliauw

Developer Advocate, JetBrains

Which technologies / frameworks do you use?

56%

55%

ASP.NET Core

41%

42%

Entity Framework

25%

20%

Azure

24%

28%

Windows Forms

22%

19%

Unity

It isn’t a surprise that ASP.NET, Entity Framework, and Azure lead the top 3 technologies used. It’s also good to see some of the “older” technologies being used less and less.

Joe Guadagno

Senior Director, Technology, at Rocket Mortgage

Which IDE / editor do you mostly use for C# development?

54%

62%

65%

Visual Studio

33%

27%

20%

JetBrains Rider

10%

9%

11%

Visual Studio Code

2%

2%

2%

Visual Studio for Mac

1%

1%

0%

Other

Over the last 3 years, the usage of JetBrains Rider has increased from 20% to 33% among C# developers.

I am not surprised about Rider’s rate of adoption when I compare it to its progression in my team. At the beginning of last year half of the team used it; today the whole team is using it.

Laurent Kempé

Team Leader & Distinguished Solution Architect, Innoveo

What plugins do you use with Visual Studio?

36%

ReSharper

8%

CodeMaid

5%

Visual Assist

5%

ReSharper C++

4%

AWS Toolkit for Visual Studio

4%

Roslynator

3%

PostSharp

2%

CodeRush

5%

Other

47%

None

It is strange to me that almost half of respondents use plain, out-of-the-box Visual Studio. There is so much power and productivity to be gained by using plugins.

Joe Guadagno

Senior Director, Technology, at Rocket Mortgage

Which plugins for Visual Studio Code do you use?

66%

C# Extensions

55%

C# for Visual Studio Code

34%

Unity Tools

33%

.NET Core Tools

23%

NuGet Package Manager

19%

ESLint

17%

TODO Highlight

Which operating system does your C# development environment use?

80%

Windows

34%

macOS

18%

Linux

I’m a bit surprised by how many C# developers are (also) using macOS and Linux. For Linux, it’d be interesting to further break this down by regular Linux (virtual) machines versus WSL.

Dennis Dietrich

Senior Software Engineer, Azure Storage, Microsoft

Which unit-testing frameworks do you regularly use?

39%

37%

xUnit

38%

37%

NUnit

14%

19%

MSTest/Visual Studio Unit Testing Framework

9%

8%

MSTest V2

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?

Dennis Dietrich

Senior Software Engineer, Azure Storage, Microsoft

What performance or diagnostic tools do you regularly use?

34%

Visual Studio's built-in performance and diagnostic tools

20%

dotTrace

17%

dotMemory

13%

Unity Profiler

8%

Dynamic Program Analysis in ReSharper or Rider

3%

Windows Performance Toolkit

2%

PerfView

Looking back at my 20 years in the field and comparing my personal experience with the numbers here, I have to come to the conclusion that performance analysis and improvement is often a blind spot these days, though it really shouldn’t be. In many ways we’ve come full circle. Whereas in the old days the issues were limited memory and CPU resources, today we routinely write code to run on mobile devices where battery life is an issue, as well as cloud solutions that need to scale out where inefficient use of computing resources quickly means spending thousands of dollars more each month than necessary.

Dennis Dietrich

Senior Software Engineer, Azure Storage, Microsoft

How often do you typically use profiling or diagnostics tools?

74%

77%

From time to time when issues occur 

19%

15%

Regularly – each day / week / sprint to predict issues

6%

8%

Constantly – it is an ongoing background process

1%

0%

Other

Quite many developers understand that profilers are tools for preventing performance issues rather than relieving their symptoms. The proportion of such developers has increased this year, but we can't say there is a sustainable trend yet.

I think regular profiling comes together with the idea of compound interest. As you know, like retirement, you put a small amount of money over time consistently, which eventually leads up to the point where you have something significant. The same thing with profiling: even a tiny segment of time to look at performance translates into big improvements across the board, if you do it consistently and persistently over time. So I don’t aim for huge, massive improvements at once. They're excellent when we get on, iteration after iteration.

Dylan Moonfire

Senior Software Developer, @dmoonfire

Who is responsible for profiling or diagnostics in your project?

35%

Me and some other developers

28%

Only me

24%

Every developer in our project

10%

Nobody in our project

2%

Other

Types of software being developed in Visual Studio and JetBrains Rider

39%

38%

Websites

37%

35%

Utilities (small apps for small tasks)

28%

20%

System Software

25%

18%

Database / Data Storage

JetBrains Rider is preferred when it comes to game development (+18 percentage points over Visual Studio), entertainment (+4 percentage points) and augmented / virtual reality (+4 percentage points).

Thank you for your time!

We hope you found our report useful. Share this report with your friends and colleagues.

If you have any questions or suggestions, please contact us at surveys@jetbrains.com.