組み込み
共有:
このセクションには、ハードウェアまたはホームオートメーションソリューションを開発していると答えた回答者からの回答が含まれています。
このグラフには、「主要言語でどのようなソフトウェアを開発していますか?」という質問に対して「ハードウェア」または「ホームオートメーションソリューション」を選択した回答者が使用している言語が含まれています。
47%
45%
C99
41%
34%
C11
16%
23%
C17
–
4%
C2x
30%
32%
Embedded C
10%
11%
分からない
3%
3%
その他
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 でも同じような採用率が見られることを願っています。
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% | その他 |
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
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 コンパイラーが圧倒的な支持を得ているのは、オープンソースの性質、広範なアーキテクチャのサポート、堅牢な最適化機能のおかげだと思われます。これらすべての特徴が組み合わさることで、開発者は組み込みプロジェクトで柔軟性と費用対効果の高いソリューションを得ることができています。
最後までご覧いただきありがとうございました!
レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。
ご質問やご提案がございましたら、surveys@jetbrains.comまでお問合わせください。