C#

Compartilhar:

As perguntas sobre C# foram mostradas apenas para os desenvolvedores que escolheram o C# como uma de suas três principais linguagens de programação.

Quais versões do C# você utiliza regularmente?

50%

C# 10 (namespaces com escopo de arquivo, usos globais, record structs, padrões de propriedade estendidos)

32%

30%

C# 9 (instruções records, target-typed new, top-level)

33%

50%

C# 8 (funções locais estáticas, tipos de referência anulável, métodos de interface padrão)

24%

39%

C# 7 (correspondência de padrões, funções locais, locais de referência e retornos, variáveis de saída)

16%

27%

C# 6 (operadores ? e nameof, importações estáticas, filtros de exceção, Roslyn)

5%

27%

C# 5 (async/await, atributos de informação do caller)

2%

5%

Versão anterior

10%

12%

Não tenho certeza

Considerando que mudar do .NET Framework para o .NET geralmente não é tão simples quanto mudar de alvo, é interessante que a maioria dos desenvolvedores esteja embarcando pelo menos no trem do .NET (Core). Ao mesmo tempo, é surpreendente que uma porcentagem significativa de desenvolvedores ainda mantenha projetos direcionados ao .NET Framework 4.6 e versões anteriores. Estou curioso para saber o que está impedindo esses projetos de avançar para a versão 4.8.

Dennis Dietrich

Engenheiro de software sênior, Azure Storage, Microsoft

Acho bom que mais desenvolvedores estejam usando a versão mais recente do C#. Eu me pergunto se eles estão movendo mais aplicativos legados para a versão mais recente do .NET ou se estão apenas criando novos aplicativos e sistemas e deixando o antigo código legado para trás.

Chris Woodruff

Chefe de equipe e engenharia da Rocket Homes

Quais linguagens de programação você está usando no seu projeto
.NET?

99%

C#

30%

HTML/CSS

26%

JavaScript

18%

TypeScript

6%

VB.NET

3%

F#

1%

Outros

O C# continua sendo a linguagem de escolha indiscutível entre os desenvolvedores .NET. O VB.NET e o F# também são usados, mas o C# e as linguagens de front-end, como o JS e o TS são usadas com mais frequência.

Maarten Balliauw

Developer Advocate, JetBrains

Quais tempos de execução você utiliza regularmente?

49%

62%

.NET Framework

47%

.NET 6

43%

66%

.NET Core

24%

33%

.NET 5

10%

12%

Mono

5%

Não tenho certeza

Os desenvolvedores C# usam o .NET Framework e o .NET Core significativamente menos agora do que no ano passado (queda de 13 e 23 pontos percentuais, respectivamente).

O .NET Framework ainda não desapareceu. Para aqueles que estão adotando versões mais recentes do .NET, parece que elas seguem as versões LTS, com o .NET 6 em segundo lugar, quase no mesmo nível da framework completa.

Maarten Balliauw

Developer Advocate, JetBrains

Quais tecnologias/frameworks você usa?

56%

55%

ASP.NET Core

41%

42%

Entity Framework

25%

20%

Azure

24%

28%

Windows Forms

22%

19%

Unity

Não é surpresa que o ASP.NET, o Entity Framework e o Azure liderem as três principais tecnologias usadas. Também é bom ver algumas das tecnologias “mais antigas” sendo usadas cada vez menos.

Joe Guadagno

Diretor sênior de tecnologia da Rocket Mortgage

Qual IDE/editor você mais usa para desenvolvimento em C#?

54%

62%

65%

Visual Studio

33%

27%

20%

JetBrains Rider

10%

9%

11%

VS Code (Visual Studio Code)

2%

2%

2%

Visual Studio for Mac

1%

1%

0%

Outros

Nos últimos 3 anos, o uso do JetBrains Rider aumentou de 20% para 33% entre os desenvolvedores C#.

Não estou surpreso com a taxa de adoção do Rider quando o comparo com sua progressão na minha equipe. No início do ano passado, ele era usado por metade da equipe e, hoje, por toda a equipe.

Laurent Kempé

Chefe de equipe e arquiteto de soluções distintas da Innoveo

Que plug-ins você utiliza com o 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%

Outros

47%

Nenhuma opção

É estranho para mim que quase metade dos entrevistados use o Visual Studio básico, do jeito que foi baixado. Há muito poder e produtividade a serem obtidos com o uso de plugins.

Joe Guadagno

Diretor sênior de tecnologia da Rocket Mortgage

Quais plug-ins para o Visual Studio Code você usa?

66%

C# Extensions

55%

C# para Visual Studio Code

34%

Unity Tools

33%

.NET Core Tools

23%

NuGet Package Manager

19%

ESLint

17%

TODO Highlight

Qual sistema operacional seu ambiente de desenvolvimento C# utiliza?

80%

Windows

34%

macOS

18%

Linux

Estou um pouco surpreso com quantos desenvolvedores C# estão (também) usando o macOS e o Linux. Para o Linux, seria interessante dividir isso em máquinas Linux (virtuais) regulares versus WSL.

Dennis Dietrich

Engenheiro de software sênior, Azure Storage, Microsoft

Quais frameworks de teste de unidade você usa regularmente?

39%

37%

xUnit

38%

37%

NUnit

14%

19%

MSTest / Visual Studio Unit Testing Framework

9%

8%

MSTest V2

Como ex-SDET, acho decepcionante a porcentagem de desenvolvedores C# que não escrevem testes de unidade. Eu esperava que agora houvesse um consenso sobre os benefícios dos testes de unidade em geral. Seria interessante descobrir o porquê disso. Será que os desenvolvedores não acreditam nos benefícios? É uma questão de falta de treinamento ou cultura de engenharia? A gerência está reduzindo os investimentos de curto prazo exigidos pelos testes de unidade?

Dennis Dietrich

Engenheiro de software sênior, Azure Storage, Microsoft

Que ferramentas de desempenho ou diagnóstico você usa regularmente?

34%

Ferramentas de desempenho e diagnóstico integradas do Visual Studio

20%

dotTrace

17%

dotMemory

13%

Unity Profiler

8%

Dynamic Program Analysis no ReSharper ou Rider

3%

Windows Performance Toolkit

2%

PerfView

Olhando para trás em meus 20 anos em campo e comparando minha experiência pessoal com os números aqui, tenho que chegar à conclusão de que a análise e a melhoria do desempenho são muitas vezes um ponto cego nos dias de hoje, embora na verdade não devessem ser. De muitas maneiras, fechamos o círculo. Considerando que antigamente os problemas eram a memória e os recursos de CPU limitados, hoje costumamos escrever código para rodar em dispositivos móveis em que a duração da bateria é um problema, bem como soluções em nuvem que precisam ser expandidas e em que o uso ineficiente de recursos de computação significa rapidamente gastos milhares de dólares a mais por mês do que o necessário.

Dennis Dietrich

Engenheiro de software sênior, Azure Storage, Microsoft

Com que frequência você costuma utilizar ferramentas de profiling ou diagnóstico?

74%

77%

Às vezes quando ocorrem problemas 

19%

15%

Regularmente - a cada dia/semana/sprint para prever problemas

6%

8%

Constantemente - é um processo contínuo em segundo plano

1%

0%

Outros

Muitos desenvolvedores entendem que os profilers são ferramentas para prevenir problemas de desempenho, em vez de aliviar seus sintomas. A proporção de tais desenvolvedores aumentou este ano, mas ainda não podemos dizer que haja uma tendência sustentável.

Acho que o profiling regular segue a ideia de juros compostos. Como você sabe, como na aposentadoria, você deposita uma pequena quantia de dinheiro ao longo do tempo de maneira consistente, o que acaba levando ao ponto em que você tem algo significativo. A mesma coisa com o profiling: mesmo um pequeno segmento de tempo para observar o desempenho se converte em grandes melhorias em todos os aspectos, se você fizer isso de forma consistente e persistente ao longo do tempo. Portanto, não busco melhorias enormes e massivas de uma só vez. Elas são excelentes quando avançamos, iteração após iteração.

Dylan Moonfire

Desenvolvedor de software sênior, @dmoonfire

Quem é responsável por realizar profiling ou diagnósticos no seu projeto?

35%

Eu e alguns outros desenvolvedores

28%

Apenas eu

24%

Cada desenvolvedor em nosso projeto

10%

Ninguém em nosso projeto

2%

Outros

Tipos de software que estão sendo desenvolvidos no Visual Studio e no JetBrains Rider

39%

38%

Sites

37%

35%

Utilitários (pequenos aplicativos para pequenas tarefas)

28%

20%

Software de sistema

25%

18%

Banco de dados / Armazenamento de dados

O JetBrains Rider é o preferido quando se trata de desenvolvimento de jogos (+18 pontos percentuais em relação ao Visual Studio), entretenimento (+4 pontos percentuais) e realidade virtual/aumentada (+4 pontos percentuais).

Obrigado pelo seu tempo!

Esperamos que você tenha achado nosso relatório útil. Compartilhe este relatório com seus amigos e colegas.

Se tiver dúvidas ou sugestões, entre em contato conosco em surveys@jetbrains.com.