C#

Partager :

Les questions sur C# n'ont été montrées qu'aux développeurs ayant choisi C# comme l'un de leurs trois principaux langages de programmation.

Quelles versions de C# utilisez-vous régulièrement ?

50%

C# 10 (espaces de noms à l'échelle du fichier, directives using globales, structs d'enregistrement, schémas de propriétés étendues)

32%

30%

C# 9 (records, opérateur target-typed; instructions de niveau supérieur)

33%

50%

C# 8 (fonctions locales statiques, types de référence nullable, méthodes d'interface par défaut)

24%

39%

C# 7 (correspondances de modèles, fonctions locales, variables locales de référence et valeurs de retour, variables out)

16%

27%

C# 6 (? et opérateur nameof, importations statiques, filtres d'exception, Roslyn)

5%

27%

C# 5

2%

5%

Une version antérieure

10%

12%

Je ne sais pas

Le passage de .NET Framework à .NET n'est généralement pas aussi simple que de changer de cible. Il est donc plutôt intéressant de constater que la plupart des développeurs n'ont au moins pas raté le train de .NET (Core). En revanche, je suis surpris qu'un pourcentage important de développeurs maintiennent encore des projets ciblant .NET Framework 4.6 et ses versions antérieures. Je me demande bien ce qui empêche ces projets de passer à la version 4.8.

Dennis Dietrich

Ingénieur logiciel principal, Azure Storage, Microsoft

Je trouve que c'est une bonne chose que davantage de développeurs utilisent la dernière version de C#. Je me demande s'ils transfèrent davantage d'applications héritées vers la dernière version de .NET ou s'ils créent simplement de nouvelles applications et de nouveaux systèmes et abandonnent l'ancien code hérité.

Chris Woodruff

Chef d'équipe en ingénierie, Rocket Homes

Quels langages de programmation utilisez-vous dans votre projet
.NET ?

99%

C#

30%

HTML/CSS

26%

JavaScript

18%

TypeScript

6%

VB.NET

3%

F#

1%

Autres

C# reste le langage de prédilection incontesté des développeurs .NET. VB.NET et F# sont également utilisés, mais le plus souvent, la préférence va à C# et aux langages de frontend tels que JS et TS.

Maarten Balliauw

Developer Advocate, JetBrains

Quels runtimes utilisez-vous régulièrement ?

49%

62%

Framework .NET

47%

.NET 6

43%

66%

.NET Core

24%

33%

.NET 5

10%

12%

Mono

5%

Je ne sais pas

Les développeurs C# utilisent beaucoup moins .NET Framework et .NET Core que l'année dernière (respectivement 13 et 23 points de pourcentage en moins).

Le framework .NET n'a pas dit son dernier mot. Ceux qui adoptent les versions plus récentes de .NET semblent privilégier les versions LTS. Parmi ces dernières, .NET 6 arrive en deuxième position, presque au même niveau que le framework .NET complet qui est en première position.

Maarten Balliauw

Developer Advocate, JetBrains

Quels technologies ou frameworks utilisez-vous ?

56%

55%

ASP.NET Core

41%

42%

Framework Entity

25%

20%

Azure

24%

28%

Windows Forms

22%

19%

Unity

Il n'est pas surprenant de trouver ASP.NET, Entity Framework et Azure en tête des trois technologies les plus utilisées. Il est également positif de constater que l'utilisation de certaines des technologies « plus anciennes » diminue.

Joe Guadagno

Directeur principal de la technologie chez Rocket Mortgage

Quel IDE ou éditeur utilisez-vous principalement pour le développement en C# ?

54%

62%

65%

Visual Studio

33%

27%

20%

JetBrains Rider

10%

9%

11%

VS Code

2%

2%

2%

Visual Studio pour Mac

1%

1%

0%

Autres

Au cours des trois dernières années, l'utilisation de JetBrains Rider est passée de 20 % à 33 % chez les développeurs C#.

Je ne suis pas surpris du taux d'adoption de Rider quand je vois sa progression dans ma propre équipe. Au début de l'année dernière, la moitié de l'équipe l'utilisait ; aujourd'hui, toute l'équipe l'a adopté.

Laurent Kempé

Chef d'équipe et architecte de solutions récompensé, Innoveo

Quels plugins utilisez-vous avec 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%

Autres

47%

Aucun

Je trouve étrange que près de la moitié des personnes interrogées utilisent simplement Visual Studio tel quel. On gagne tellement en puissance et en productivité grâce aux plugins.

Joe Guadagno

Directeur principal de la technologie chez Rocket Mortgage

Quels plugins utilisez-vous pour Visual Studio Code ?

66%

Extensions C#

55%

C# pour Visual Studio Code

34%

Outils Unity

33%

.NET Core Tools

23%

NuGet Package Manager

19%

ESLint

17%

TODO Highlight

Quel système d'exploitation votre environnement de développement C# utilise-t-il ?

80%

Windows

34%

macOS

18%

Linux

Je suis un peu surpris par le nombre de développeurs C# qui utilisent (aussi) macOS et Linux. En ce qui concerne Linux, il serait intéressant de connaître la répartition entre machines (virtuelles) Linux ordinaires et WSL.

Dennis Dietrich

Ingénieur logiciel principal, Azure Storage, Microsoft

Quels frameworks de tests unitaires utilisez-vous régulièrement ?

39%

37%

xUnit

38%

37%

NUnit

14%

19%

Framework de tests unitaires MSTest/Visual Studio

9%

8%

MSTest V2

En tant qu'ancien ingénieur SDET, je suis déçu par le pourcentage de développeurs C# qui n'écrivent aucuns tests unitaires. Je pensais qu'aujourd'hui il y avait finalement un consensus sur les avantages des tests unitaires. Il serait intéressant de comprendre les causes de faible taux d'utilisation. Les développeurs ne sont-ils pas convaincus des avantages des tests unitaires? S'agit-il d'un manque de formation ou de culture en matière d'ingénierie ? Les managers cherchent-ils à éviter les investissements à court terme que requièrent les tests unitaires ?

Dennis Dietrich

Ingénieur logiciel principal, Azure Storage, Microsoft

Quels outils de performance ou de diagnostic utilisez-vous régulièrement ?

34%

Outils intégrés de diagnostic et de mesure des performances de Visual Studio

20%

dotTrace

17%

dotMemory

13%

Unity Profiler

8%

Dynamic Program Analysis dans ReSharper ou Rider

3%

Toolkit Windows Performance

2%

PerfView

En repensant à mes 20 ans d'expérience dans ce domaine et en les comparant aux chiffres présentés ici, j'en arrive à la conclusion que l'analyse et l'amélioration des performances tombent souvent dans l'angle mort de nos jours, alors que cela ne devrait pas être le cas. Alors que dans le passé, les problèmes étaient dus aux limitations de la mémoire et des ressources de l'unité centrale, aujourd'hui, nous écrivons régulièrement du code destiné à être exécuté sur des appareils mobiles, sur lesquels la durée de vie de la batterie pose problème, ainsi que sur des solutions cloud amenées à évoluer, pour lesquelles une utilisation inefficace des ressources informatiques entraîne rapidement des milliers de dollars de coût supplémentaire chaque mois qui pourraient être évités.

Dennis Dietrich

Ingénieur logiciel principal, Azure Storage, Microsoft

À quelle fréquence utilisez-vous des outils de profilage ou de diagnostic ?

74%

77%

De temps en temps, en cas de problème  

19%

15%

Régulièrement : chaque jour / chaque semaine / à chaque sprint pour anticiper les problèmes

6%

8%

En permanence : c'est un processus continu en arrière-plan

1%

0%

Autres

Un bon nombre de développeurs comprennent que les profileurs permettent de prévenir les problèmes de performance plutôt que de devoir en résoudre les conséquences. La proportion que représente ce groupe a augmenté cette année, mais on ne peut pas encore parler d'une tendance durable.

Effectuer un profilage régulier a selon moi le même effet que la capitalisation des intérêts dans un contexte financier. Pour préparer votre retraite, vous pouvez mettre régulièrement une petite somme d'argent de côté et en optant pour des placements à intérêts composés, parvenir à obtenir une somme conséquente. C'est la même chose avec le profilage : même en consacrant une toute petite partie de votre temps à l'analyse des performances, si vous le faites de manière pertinente et régulière, vous obtiendrez finalement des améliorations importantes. Je ne cherche pas à obtenir des améliorations extraordinaires en une seule fois, mais itération après itération.

Dylan Moonfire

Développeur logiciel senior, @dmoonfire

Qui est responsable du profilage ou des diagnostics dans votre projet ?

35%

Moi et quelques autres développeurs

28%

Moi uniquement

24%

Chaque développeur de notre projet

10%

Personne dans notre projet

2%

Autres

Types de logiciels développés dans Visual Studio et JetBrains Rider

39%

38%

Sites web

37%

35%

Utilitaires (petites applications pour de petites tâches)

28%

20%

Logiciels système

25%

18%

Bases de données / Stockage de données

JetBrains Rider est cité comme IDE préféré pour le développement de jeux (+18 points de pourcentage par rapport à Visual Studio), le secteur du divertissement (+4 points de pourcentage) et de la réalité augmentée / virtuelle (+4 points de pourcentage).

Merci du temps que vous nous avez accordé !

Nous espérons que vous avez trouvé ce rapport intéressant. N'hésitez pas à le partager avec vos amis et collègues.

Si vous avez des questions ou des suggestions, contactez-nous à surveys@jetbrains.com.