C++

Essas perguntas foram apresentadas apenas para os desenvolvedores que escolheram o C++ como uma das três principais linguagens de programação.

Quais padrões C++ você costuma utilizar?

12%41%39%46%13%C++20C++17C++14C++11C++98 / C++03

As pessoas continuam adotando os novos padrões C++. A parcela de desenvolvedores que usam o C++20 saltou para 12%.

11%36%44%47%18%C++20C++17C++14C++11C++98 / C++03

Os resultados de algumas perguntas, incluindo esta, foram divididos em 3 grupos, com base nos tipos de software que os entrevistados desenvolvem e nos campos em que suas empresas operam. Esses grupos representam as três principais áreas do desenvolvimento em C ++: Desenvolvimento embarcado, Finanças e Desenvolvimento de jogos.

Você planeja migrar para outro padrão C++ nos próximos 12 meses? Em caso afirmativo, para qual?

50%14%10%19% 8%No, I don't plan toto C++11to C++14to C++17to C++20

Cerca de metade dos desenvolvedores C++ pesquisados planeja mudar para outro padrão este ano.

Qual IDE ou editor você usa com mais frequência para desenvolvimento em C++?

26%22%22% 7% 4% 4% 3% 3% 2% 2% 1% 3%Visual StudioCLionVisual Studio CodeVi/VimQtCreatorSublimeXcodeAtomEmacsEclipse CDTNetBeansOther

26%25%22% 6% 4% 4% 4% 3% 2% 2% 1% 1%Visual StudioVisual Studio CodeCLionVi/VimAtomEmacsQtCreatorXcodeNetBeansSublimeEclipse CDTOther

Recentemente, a JetBrains lançou o preview público do Rider for Unreal Engine IDE. Esperamos que esse IDE entre nesta pesquisa para Desenvolvimento de jogos no ano que vem.

Quais frameworks de teste de unidade você costuma utilizar, se aplicável?

31%14% 6% 6% 3% 1%15%34% 4%Google TestCatchBoost.TestCppUnitdoctestCppUTestI don't use frameworksI don’t write unit tests for C++Other

O Catch ficou em segundo lugar este ano, ultrapassando o Boost.Test e o CppUnit.

31%12% 5% 6% 2% 2%19%32% 2%Google TestCatchBoost.TestCppUnitdoctestCppUTestI don't use frameworksI don’t write unit tests for C++Other

Quais gerenciadores de dependências você utiliza nos seus projetos?

23%10% 8% 6% 3% 1% 4%49%I rely on a system package managerNugetvcpkgConanbuild2HunterOtherNone

Metade dos desenvolvedores C++ não usa nada para gerenciar suas dependências.

23%10% 7% 6% 5% 2% 6%46%I rely on a system package managerNugetvcpkgConanbuild2HunterOtherNone

Que métodos de relatório de erros são permitidos em seu projeto atual (trabalho ou escola)?

79%Exceptions (throw, try,catch)
51%Numeric error codes (e.g.,errc, error_code, HRESULT)
22%Success/failure result classtypes (e.g.,Boost.Expected,Boost.Outcome)

Quais modelos de projeto ou sistemas de compilação você costuma utilizar, se aplicável?

53%35%29% 7% 7% 5% 3% 3% 2% 1% 4%13%CMakeVisual Studio projectMakefilesXcode projectCustom build systemQmakeAutotoolsBazelBoost.BuildSConsOtherNone

Como nos anos anteriores, os principais sistemas de compilação são CMake, o Visual Studio Project e o Makefiles.

54%35%34%11% 7% 7% 4% 3% 3% 2% 4% 8%CMakeMakefilesVisual Studio projectCustom build systemQmakeXcode projectAutotoolsBazelBoost.BuildSConsOtherNone

Quais compiladores você costuma utilizar?

74%43%32% 9% 5% 3%GCCClangMSVCIntelCustomOther

O GCC aumentou sua participação pela primeira vez em 4 anos, enquanto o Clang vem crescendo constantemente.

79%42%33% 8% 7% 5%GCCClangMSVCIntelCustomOther

Quais das seguintes ferramentas você ou sua equipe utiliza para aplicação de diretrizes ou outros processos de análise ou qualidade de código?

36%23%20%13% 9% 6% 2% 2%Tool provided by my IDE (Visual Studio, ReSharper C++, CLion, etc.)Clang-tidyClang-analyzer / Clang Static AnalyzerCppcheckCpplintCoverityParasoft C/C++testStack
Todos os resultados

A crescente popularidade do Clang está impulsionando a popularidade de suas ferramentas, como o Clang-tidy e o Clang-analyzer.

Quais das seguintes fontes de orientação ou conselho de codificação você ou sua equipe utiliza ativamente?

29%26%24% 9% 5% 5% 3% 3%Effective C++ series (books by Scott Meyers)Google C++ Style GuideC++ Core Guidelines – main project (github.com/isocpp/CppCoreGuidelines)C++ Coding Standards (book by Herb Sutter and Andrei Alexandrescu)Guru of the Week / Exceptional C++ series (blog/books by Herb Sutter)C++ Core Guidelines – a company-specific fork/branch augmented with internal rulesAbseil tips of the weekHigh Integrity C++ Coding Standard (Programming Research)
Todos os resultados

Obrigado pelo seu tempo!

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

Participe do Laboratório de Insights de Tecnologia da JetBrains

Participe de pesquisas e estudos de experiência do usuário para tornar os produtos da JetBrains mais fáceis de usar, porém ainda mais poderosos. Você também terá a oportunidade de ganhar recompensas por participar das nossas pesquisas.

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

© 2000-2020 JetBrains s.r.o. Todos os direitos reservados.