Tecnologia embarcada
Compartilhar:
Esta seção inclui as respostas daqueles que informaram desenvolverem soluções de hardware ou automação doméstica.
Este gráfico inclui as linguagens usadas por aqueles que selecionaram "hardware" ou "soluções de automação doméstica" ao responderem a pergunta "Que tipos de software você desenvolve com as suas linguagens principais?"
47%
45%
C99
41%
34%
C11
16%
23%
C 17
–
4%
C 2x
30%
32%
Embedded C
10%
11%
Não tenho certeza
3%
3%
Outros
12%
6%
C++98 / C++03
33%
28%
C++11
24%
27%
C++14
41%
48%
С++17
23%
37%
C++20
–
14%
С++23
12%
13%
Não tenho certeza
Inbal Levi
Engenheiro-chefe de Software da MPGC Services Ltd (Millennium)
É bom ver uma parcela tão significativa dos desenvolvedores de sistemas embarcados já trabalhando com o C++ 20. Esta versão amplia as possibilidades em tempo de compilação, o que traz muitos benefícios para setores que dão muita ênfase ao desempenho do runtime. Espero ver taxas de adoção semelhantes para o C++ 23 nos próximos anos.
C++ | C | Rust | |
---|---|---|---|
34% | 34% | 47% | Visual Studio Code |
29% | 20% | 21% | CLion |
19% | 9% | 0% | Visual Studio |
– | – | 15% | IntelliJ IDEA |
6% | 14% | 8% | Vi/Vim |
2% | 4% | – | Eclipse CDT |
2% | 3% | 3% | Emacs |
1% | 3% | 1% | Sublime |
8% | 13% | 6% | Outros |
35%
24%
GoogleTest
23%
–
Não escrevo testes de unidade para C/C++
15%
6%
Catch
8%
4%
CppUnit
5%
4%
Boost.Test
Ivan Kravets
Ph.D., Inventor e CEO da PlatformIO Labs
A crescente adoção de frameworks de teste no ecossistema de desenvolvimento de software para sistemas embarcados é uma tendência promissora, apesar de atualmente 20% dos desenvolvedores ainda não os utilizarem. Essa migração na direção de abordagens orientadas por testes é positiva, aumentando a confiabilidade e a qualidade nos sistemas embarcados e demonstrando o compromisso do setor com a entrega de produtos robustos.
74%
59%
CMake
44%
45%
Makefile
27%
21%
Projeto do Visual Studio
26%
16%
Ninja
6%
–
Gradle
29%
24%
Uso um gerenciador de pacotes do sistema
28%
–
O código-fonte da biblioteca faz parte do meu build
22%
–
Compilo as bibliotecas separadamente usando suas instruções
15%
–
Faço download de bibliotecas pré-compiladas da Internet
13%
8%
vcpkg
8%
6%
NuGet
Ivan Kravets
Ph.D., Inventor e CEO da PlatformIO Labs
Esta pesquisa destaca uma tendência preocupante no desenvolvimento de sistemas embarcados, em que muitos desenvolvedores continuam tendo dificuldades com práticas obsoletas de gerenciamento de bibliotecas de terceiros. É crucial adotar uma abordagem declarativa, pois isso pode não apenas amenizar essa complexidade, como também melhorar significativamente a experiência de desenvolvimento. Isso resultaria em um tratamento mais eficiente de múltiplas bibliotecas, que acabaria por acelerar o progresso da área de desenvolvimento de software para sistemas embarcados.
81%
82%
GCC
50%
32%
Clang
31%
20%
MSVC
21%
43%
Compilador para microcontroladores
14%
–
Clang-cl
Ivan Kravets
Ph.D., Inventor e CEO da PlatformIO Labs
A preferência esmagadora pelo compilador GCC pode ser atribuída à sua natureza de código aberto, extenso suporte a diversas arquiteturas e robustos recursos de otimização, que, em conjunto, empoderam os desenvolvidores com flexibilidade e soluções econômicas para seus projetos de sistemas embarcados.
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.