これらの質問は、3大主要プログラミング言語として C++ を選択した開発者にのみ提示されました。

C++

どの C++ 標準を定期的に使用していますか?

12%40%30%42%18%11%C++98 / C++03C++11C++14C++17C++20分かりません
Matt GodboltCompiler Explorer クリエイター

「最新の C++ が採用されているのを見るのは嬉しいです。回答者 5 人のうち 1 人は最新の標準を使用しており、素晴らしいことです。より多くの人がスなくとも翌年中には C++17 に移行することを計画しています。モジュールとコンセプトが大きなモチベーションとなっているようです。」

C++ 標準の移行

41%17% 9%17%17%いいえ、予定していませんC++11 へC++14 へC++17 へC++20 へ
Andreas KlingSerenityOS およびその YouTube チャンネルクリエイター

「C++17 をすでに使用していた多数の人たちが、C++20 を採用したがっていることには納得がいきます。」

あなたの現在のプロジェクトでは、今後 12 か月の間にいずれかの C++20 機能を使用する予定ですか?

48%46%33% 5%31%Modules概念コルーチンその他なし
Andreas KlingSerenityOS およびその YouTube チャンネルクリエイター

「モジュールがトップとなるのは予想が付きました。C++ のビルド時間が毎年落ちてきている状況で、みんながモジュールをどのように使用してこのトレンドを押し返すかを見るのがとても楽しみです。」

どのIDE/エディタをC++開発に最もよく使用していますか?

28%26%24% 6% 3% 2% 2% 2%Visual Studio CodeCLionVisual StudioVi/VimQtCreatorEmacsSublimeXcode
すべての結果

どのユニットテストフレームワークを定期的に使用していますか?

32%11% 9% 5% 4% 2%30%16% 4%Google TestCatchCppUnitBoost.TestdoctestCppUTestC++ のユニットテストは書いていないユニットテストを書いているが、フレームワークは使用していないその他

Matt GodboltCompiler Explorer クリエイター

「開発者の 3 分の 1 が未だにユニットテストを全く書いていないのは残念です。」

サードパーティの C++ ライブラリをどのように管理していますか?

26%23%21%21% 9% 7% 5% 1%14% 5%ライブラリのソースコードをビルドに組み込んでいるライブラリを手順に従って別々にコンパイルしているインターネットからビルド済みのライブラリをダウンロードしているシステムパッケージマネージャを使用vcpkgNugetConanbuild2上記のいずれにも該当しません。依存関係はありませんその他
Matt GodboltCompiler Explorer クリエイター

「回答者のほぼ 4 分の 3 に適切なパッケージングソリューションが欠けています。ライブラリを個別にビルドするか、プリビルドするか、システムパッケージ管理を使用する必要があるため、開発者の手間や第三者のビルドサービスに頼ることが必要となります。また、新しいバージョンに遅れ、アップグレードやコンパイラの変更に複雑さが生まれることにもつながります。」

Andreas KlingSerenityOS およびその YouTube チャンネルクリエイター

「この問題にたくさんの競合ソリューションがなければ、C++ は存在しなかったかもしれませんが、どれかを適当に選んでそれをソリューションとした方がすべてが改善されるのでは、と考えずにはいられません。」

現在のプロジェクト(職場や学校)ではどんなエラー報告手段が認められていますか?

80%
例外
54%
数値エラーコード
20%
成功 / 失敗の結果クラスタイプ

どのプロジェクトモデルまたはビルドシステムを定期的に使用していますか?

55%36%31%10% 9% 9% 6% 6%CMakeMakefileVisual Studio プロジェクトGradleNinjaXcodeプロジェクト独自のビルドシステムQmake
すべての結果

どのコンパイラーを定期的に使用していますか?

GCCClangMSVCIntelマイクロコントローラ用コンパイラーカスタムその他GCC78%Clang43%MSVC30%Intel9%マイクロコントローラ用コンパイラー7%カスタム2%その他1%
Matt GodboltCompiler Explorer クリエイター

「オープンソースコンパイラーが日常的に使用されているコンパイラーリストのトップとなっているのが興味深いと思いました。私の業界では、Linux を使えば MSVC コンパイラーを使用できなくなります。Windows プログラマーの数は Linux を超えているとずっと思っていたため、MSVC の使用率の方が高くなると思っていました。」

Andreas KlingSerenityOS およびその YouTube チャンネルクリエイター

「GCC が Clang よりも伸びているのが非常に興味深いです。ついでに言えば、GCC は C++20 でさらに優れた進歩を遂げているように感じられます。」

他にどのプログラミング言語を C++ と共にプロジェクトで使用していますか?

45%31%21%15%15%12%11%11%PythonCシェルスクリプト言語(bash/shell/powershell)JavaJavaScriptSQL(PL/SQL、T-SQL および他の SQL 拡張プログラミング言語)C#HTML / CSS
すべての結果

あなたまたはあなたのチームでは、ガイドラインの実施やその他のコード品質・解析において、次のうちどのツール使用していますか?

38%23%21%17%11% 7% 4% 3% 2% 1%使用中のIDEが提供するツールClang-tidyClangFormatClang-analyzer / Clang Static AnalyzerCppcheckCpplintCoverityStackPVS-StudioParasoft C/C++test
すべての結果

Andreas KlingSerenityOS およびその YouTube チャンネルクリエイター

「自動コードフォーマットは未だにひどく過小評価されています。おかしなことかもしれませんが、ClangFormat のようなツールを使用すれば、コーディングスタイルについて語る必要がなくなってしまうのです!」

ご覧いただきありがとうございました!

レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。

JetBrains Tech Insights Lab にご参加ください

JetBrains 製品をより使いやすく、さらに強力にするためのアンケートと UX 調査にご協力ください。調査にご参加いただいた方には報酬を獲得できるチャンスもあります。

ご質問やご提案がございましたら、surveys@jetbrains.comまでお問合わせください。