C++
共有:
これらの質問は 3 つの主要プログラミング言語の 1 つに C++ を選択した開発者にのみ提示されました。
共有:

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
C++23 以前の標準の採用度が高いことは驚くことではありません。採用パターンは近年と事実上変わっておらず、期間が変わっただけです。C++23 は 2023 年に 10% の採用率を見せており、2020 年の C++20 よりわずかに低下していますが、これは C++23 に比べて C++20 に導入された新機能の数の多さに関連していると思われます。

Inbal Levi
MPGC Services Ltd(Millennium)リードソフトウェアエンジニア、WG21 委員会メンバー
エンベデッドおよびゲーム業界では大半がすでに C++20 を使用しているのは素晴らしいことです。このバージョンはコンパイル時の機能を拡張しているため、実行パフォーマンスを非常に重視している業界にとっては非常に有益です。今後数年にわたって C++23 でも同じような採用率が見られることを願っています。

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
C++20 の採用率が大幅にアップしたのも当然です。実装が成熟し、機能が完全になってきたわけですから。今後数年間にわたって「基本」のダイアレクトがコミュニティの大半で C++17 から C++20 に大きくシフトしていくと思います。

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
C++98/03 を使用している開発者の 57% が別の標準規格に移行する予定がない?これは残念なことですが、概してわずか 8% の回答者がまだ C++98/03 を使用しており、これは世界の C++ コードの約 4% のみがこの古い標準規格のままだということです。これは悪い数値ではなく、他のプログラミング言語と類似しています。

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
最近はビルドシステムとエコシステムで C++20 モジュールをサポートする取り組みが大幅に進展していますが、翌年に C++20 モジュールを使用する予定がある(おそらく本番環境で)回答者の楽観的すぎるように思います。今後 12 か月間で達成できるとは思いません。

Inbal Levi
MPGC Services Ltd(Millennium)リードソフトウェアエンジニア、WG21 委員会メンバー
エンベデッド業界で機能の採用率が速まっていることは本当に嬉しいことです。これまでは採用が遅れていると認識されていたためです。これは C++20 が組み込みの分野にもたらす素晴らしいメリットにも関連していると思います。

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
実際にモジュールを使用しようとした人がどれくらいいるのか気になります。関心は高いですがそれほど採用されていません。

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
市場は明らかに Microsoft と JetBrains が席巻しています。VS Code の急速な伸びがようやく落ち着いたようです(少なくとも C++ オーディエンスの間では)。CLion、VS、VS Code の 3 つの主力ツールの使用割合が安定して均等になり始めているようです。
26%
29%
C++ のユニットテストは書いていない
17%
16%
ユニットテストは書いているがフレームワークは使用していない
35%
33%
GoogleTest
12%
12%
Catch
9%
9%
CppUnit

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
29% が依然として C++ コードのユニットテストを書いていないのは残念です。この数値が年を追うごとに低下しているとはいえ、ペースが遅すぎます。言語の未来はこのような状況を解決することにも懸かっています。

Inbal Levi
MPGC Services Ltd(Millennium)リードソフトウェアエンジニア、WG21 委員会メンバー
フレームワークを使わずにユニットテストを書いている開発者の数に驚きです。委員会ではパッケージマネージャーに関する話題を促進する取り組みがありますが、それによってユニットテストを書かない開発者とフレームワークなしで書いている開発者の数が減ることを願っています。
25%
24%
ライブラリのソースコードをビルドに組み込んでいる
21%
21%
システムパッケージマネージャーを使用している
24%
19%
ライブラリを手順に従って別々にコンパイルしている
18%
18%
インターネットからビルド済みのライブラリをダウンロードしている
14%
15%
依存関係はない

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
独自の命令を使ってライブラリを手動でコンパイルする開発者が減ってきているのは良い事です。自動ソリューションの使用により、このような C と C++ のエコシステムへの固有の手法が今後も減ることに期待です。

Inbal Levi
MPGC Services Ltd(Millennium)リードソフトウェアエンジニア、WG21 委員会メンバー
C++ コミュニティ全体でパッケージマネージャーの広範なサポートが必要だということをよく表していると思います。

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
いずれはこれらのパッケージマネージャー(vcpkg、Conan など)が十分に成熟して広範に使用され、事実上の標準になる変曲点を迎えるでしょう。しかし、今はまだそこには達していません。
57%
54%
CMake
33%
29%
Visual Studio プロジェクト
33%
28%
Makefile
11%
15%
Ninja
9%
6%
Gradle

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
CMake の市場シェアが下落し、Ninja が上昇したのは非常に興味深いものです。このトレンドには気づきませんでした。おそらく単なるノイズだと思いますが、CMake はこれまで急速な伸びを見せてきたわけですから、このデータはそのピークに達したことを示しているのでしょう。

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
Python も C++ 開発者のツールベルトに入れるツールとしては非常に便利です。

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
ここでは C++ と組み合わせて使用されている JavaScript と Rust の増加傾向が見られます。Rust の人気が上昇している中、Rust + C++ の伸びがそれほど急速でないのには驚いています。Rust を既存のプロジェクトで使用する方が(新規プロジェクトで使用するよりも)困難ということでしょう。
37%
31%
使用中の IDE が提供するツール
24%
27%
Clang-tidy
21%
24%
ClangFormat
17%
18%
Clang-analyzer / Clang Static Analyzer
10%
11%
Cppcheck

Bryce Adelstein Lelbach
NVIDIA 主任アーキテクト
IDE が提供する解析ツールの数値が低下しているのは、GitHub Actions で Clang-tidy/ClangFormat/Clang 静的アナライザーを実行するなど、静的解析を CI に統合している人がいることを示しているのだと思います。
必要なコンパイラーのチェックを有効にしてコンパイル時に実行している
コード解析は CI/CD パイプラインに統合されている
コード解析は実行していない
動的解析を使用している
開発者のマシンでサードパーティの静的コード解析ツールを実行している
その他

Diego Rodriguez-Losada Gonzalez
JFrog リードアーキテクト
5~10 年前の C++ IDE 市場は基本的に Visual Studio という Windows 限定の製品に席巻されていました。開発者は良質な IDE を利用するためだけに Windows で開発していたのです。現在のこの分野に JetBrains と Microsoft の 2 大ベンダーがあり、ユーザーにとっては素晴らしい環境になっています。Visual Studio Code と CLion のおかげで、IDE は Windows 以外の開発者にとってはるかに利用しやすいものになりました。
最後までご覧いただきありがとうございました!
レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。
ご質問やご提案がございましたら、surveys@jetbrains.comまでお問合わせください。