嵌入式

分享:

此部分包括表示自己开发硬件或家居自动化解决方案的受访者的回复。

嵌入式开发中使用的语言

31%

Python

20%

C++

15%

C

13%

Java

11%

JavaScript

8%

C#

7%

TypeScript

此图表包括在“您使用主要语言开发什么类型的软件?”问题上选择“硬件”或“家居自动化解决方案”的人所使用的语言。

您经常使用哪种(哪些)C 标准?

47%

45%

C99

41%

34%

C11

16%

23%

C17

4%

C2x

30%

32%

Embedded C

10%

11%

不确定

3%

3%

其他

您经常使用哪种(哪些)C++ 标准?

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%

不确定

Inbal Levi

MPGC Services Ltd (Millennium) 首席软件工程师

很高兴看到有很大一部分嵌入式开发者已经在使用 C++20 了。此版本扩展了编译时能力,这对于那些非常重视运行时性能的行业非常有利。我希望看到在未来的几年里,C++23 也有类似的采用率。

您最常使用哪款 IDE/编辑器?

C++CRust
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%其他
0%47%

您使用 C 还是 C++ 进行开发?

CLion 是一款强大的跨平台 IDE,世界各地的大量嵌入式开发者都在使用。了解其是否适合您以及您使用的硬件。

您最常使用哪款 IDE 或编辑器进行 Python 开发?

34%

Visual Studio Code

26%

PyCharm Professional Edition

22%

PyCharm Community Edition

7%

Jupyter Notebook

3%

Notepad++

2%

IntelliJ IDEA

1%

Sublime Text

您经常使用哪种(哪些)单元测试框架?

35%

24%

GoogleTest

23%

我不为 C/C++ 编写单元测试

15%

6%

Catch

8%

4%

CppUnit

5%

4%

Boost.Test

Ivan Kravets

博士、发明家、PlatformIO Labs 首席执行官

嵌入式软件开发生态系统中越来越高的测试框架采用率是一个有希望的趋势,虽然目前仍有 20% 的开发者尚未使用。这种向测试驱动方式的转变标志着一个积极的方向,增强了嵌入式系统的可靠性和质量,也展示了业界交付稳健产品的承诺。

您经常使用哪种(哪些)项目模型或构建系统?

74%

59%

CMake

44%

45%

Makefile

27%

21%

Visual Studio 项目

26%

16%

Ninja

6%

Gradle

您在 С 或 C++ 中如何管理第三方库?

29%

24%

我使用系统软件包管理器

28%

库的源代码是我的构建的一部分

22%

我使用指令分别编译这些库

15%

我从网上下载预构建的库

13%

8%

vcpkg

8%

6%

NuGet

Ivan Kravets

博士、发明家、PlatformIO Labs 首席执行官

这项调查突出了嵌入式开发中一个令人担忧的趋势,许多开发者仍挣扎于管理第三方库的过时做法。采用声明式方式至关重要,因为它不仅可以减轻这种复杂性,还可以显著增强整体开发者体验。这可以更有效地处理多个库,最终加速嵌入式软件开发领域的进步。

您经常使用哪种(哪些)编译器?

81%

82%

GCC

50%

32%

Clang

31%

20%

MSVC

21%

43%

适用于微控制器的编译器

14%

Clang-cl

Ivan Kravets

博士、发明家、PlatformIO Labs 首席执行官

GCC 编译器的压倒性偏好可归因于其开源特性、广泛的架构支持和强大的优化功能,这为开发者的嵌入式项目带来了灵活性和经济高效的解决方案。

嵌入式:

2023

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com