C#
Поделиться:
На вопросы о C# отвечали только те, кто выбрал его в качестве одного из трех основных языков программирования.
50%
–
C# 10 (объявление пространства имен в пределах файла, директивы global using, структуры record, расширенные шаблоны свойств)
32%
30%
C# 9 (классы record, контекстно-типизируемый оператор new, операторы верхнего уровня)
33%
50%
C# 8 (статические локальные функции, ссылочные типы, допускающие значение null, методы интерфейса по умолчанию)
24%
39%
C# 7 (сопоставление с образцом, локальные функции, ссылочные локальные переменные и возвращаемые значения, переменные out)
16%
27%
C# 6 (операторы ? и nameof, статический импорт, фильтры исключений, Roslyn)
5%
27%
C# 5 (async/await, атрибуты сведений о вызывающей стороне)
2%
5%
Более старая версия
10%
12%
Затрудняюсь с ответом
Учитывая, что перейти с .NET Framework на .NET обычно сложнее, чем поменять таргет, интересно, что большинство разработчиков используют по крайней мере .NET (Core). Удивительно при этом, что значительная доля разработчиков до сих пор поддерживают проекты, для которых таргетом является .NET Framework 4.6 и более ранних версий. Не понимаю, что мешает им перенести проекты на 4.8.
Деннис Дитрих
Старший разработчик, Azure Storage, Microsoft
C#
HTML/CSS
JavaScript
TypeScript
VB.NET
F#
Другое
49%
62%
.NET Framework
47%
–
.NET 6
43%
66%
.NET Core
24%
33%
.NET 5
10%
12%
Mono
5%
–
Затрудняюсь с ответом
По сравнению с прошлым годом C#-разработчики стали гораздо реже использовать .NET Framework и .NET Core (снижение на 13 и 23 процентных пункта соответственно).
56%
55%
ASP.NET Core
41%
42%
Entity Framework
25%
20%
Azure
24%
28%
Windows Forms
22%
19%
Unity
54%
62%
65%
Visual Studio
33%
27%
20%
JetBrains Rider
10%
9%
11%
Visual Studio Code
2%
2%
2%
Visual Studio для Mac
1%
1%
0%
Другое
За три года доля JetBrains Rider среди C#-разработчиков увеличилась с 20% до 33%.
Windows
macOS
Linux
39%
37%
xUnit
38%
37%
NUnit
14%
19%
MSTest / Фреймворк юнит-тестирования Visual Studio
9%
8%
MSTest V2
Я в прошлом инженер-тестировщик, и меня очень расстраивает, что столько C#-разработчиков вообще не пишут юнит-тесты. Я надеялся, что сейчас уже все понимают пользу юнит-тестирования. Интересно, почему так происходит. Разработчики не видят в этом пользы? Не хватает обучения или культуры разработки? Может быть, руководство отказывается от краткосрочных инвестиций, которых требует юнит-тестирование?
Деннис Дитрих
Старший разработчик, Azure Storage, Microsoft
Оглядываясь на свой 20-летний опыт работы и сравнивая его с приведенными данными, я прихожу к выводу, что анализ и оптимизация производительности сегодня часто оказываются в «слепой зоне», хотя так быть не должно. В каком-то смысле круг замкнулся. Когда-то проблема была в нехватке памяти и ресурсов ЦП, а сегодня код, который мы обычно пишем, запускается на мобильных устройствах с ограниченным зарядом аккумулятора или в облаке, требующем масштабирования, а значит неэффективное использование вычислительных ресурсов моментально увеличивает ежемесячные расходы на тысячи долларов.
Деннис Дитрих
Старший разработчик, Azure Storage, Microsoft
74%
77%
Время от времени, когда случаются неполадки
19%
15%
Регулярно— ежедневно / еженедельно / в ходе каждого спринта для прогнозирования неполадок
6%
8%
Постоянно — это непрекращающийся фоновый процесс
1%
0%
Другое
Многие разработчики понимают, что профилировщики предотвращают проблемы с производительностью, а не просто устраняют симптомы. Доля таких разработчиков в этом году выросла, но все-таки говорить об устойчивой тенденции пока рано.

Я думаю, регулярное использование профилирования дает, как говорится, «капитализацию процента»: вкладываешь регулярно немного денег, в итоге накапливается солидная сумма. С профилированием то же самое: если регулярно тратить немного времени на оптимизацию производительности, это постепенно даст огромный прирост. Я не стремлюсь к единовременным большим улучшениям: достаточно идти шаг за шагом, и все будет хорошо.
Дилан Мунфайер
Старший разработчик, @dmoonfire
Я и еще некоторые разработчики
Только я
Все разработчики, участвующие в нашем проекте
Никто из участников нашего проекта
Другое
39%
38%
Веб-сайты
37%
35%
Утилиты (небольшие приложения для узких задач)
28%
20%
Системное ПО
25%
18%
Базы данных / хранилища данных
JetBrains Rider чаще выбирают для разработки игр (+ 18 процентных пунктов больше, чем Visual Studio), развлекательных приложений (на 4 процентных пункта больше) и приложений дополненной/виртуальной реальности (на 4 процентных пункта больше).
Спасибо, что уделили время!
Если результаты исследования показались вам интересными, поделитесь ими с друзьями и коллегами.
Если у вас есть вопросы или пожелания, свяжитесь с нами по адресу surveys@jetbrains.com.