C++

共有:

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

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

移行が安定して進められているのは素晴らしいことです。特に、ゲーム開発者が C++20 を受け入れていることを嬉しく思います。すべてのゲームプラットフォームをサポートできることを楽しみにしています。ベンダーにとっては実装が困難になるかもしれませんが、概念と範囲だけでも価値があると思います。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

C++20 の採用率には本当に驚かされました。物事は明らかに変化しているようです。新しい標準の採用速度は以前よりもはるかに大きくなっています。

Jason Turner

C++ トレーナー、講演者、著者YouTuber

大多数のユーザーが過去 5 年間のリリースを使用していることをとても嬉しく思っています。また、C++11 より前のリリースのユーザーが 10% 未満に減少したことも良い事です。後 2 年もすれば、こういったアンケートに含める必要もなくなるでしょう。

Titus Winters

Google 主任エンジニア

C++ 標準の移行

ユーザーは標準の履歴に沿ってまんべんなく散らばっていることを常に意識する必要があります。このようなアンケートは、最新の標準だけでなく、それ以外の標準でも動作するコードを書くべきことを思い出させてくれます。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

C++20 のトレーニングを依頼する企業はまだあまり多くないため、この結果には驚かされました。しかし、多くのユーザーは依然として C++17 に移行できることを幸運だと感じているようです。

Jason Turner

C++ トレーナー、講演者、著者YouTuber

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

私は [Modules] 機能にはまだ追加の開発が必要だと感じていますが、それが間違っていることが証明されるのを期待しています。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

今後 12 か月の内にモジュールが使いやすくなるように、ツーリングが追い付けばいいなと思います。

Jason Turner

C++ トレーナー、講演者、著者YouTuber

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

クロスプラットフォームと組み込み開発用の CLion、Visual Studio ユーザー向けの ReSharper C++、Unreal Engine と C++ ゲーム開発者向けの Rider など、JetBrains には C++ でのコーディングでありがちな典型的な落とし穴や頭の痛い問題を回避できる豊富な C++ IDE が揃っています。

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

エンジニアはコードをテストするよりも書く方を好みますが、テストの作成に費やした時間は実際の長期的なメリットを上回る価値があります。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

4 分の 1 の開発者がユニットテストを書いていないという統計に驚きを隠せません。ユニットテストの書き方や使用するフレームワークについて特に強い意見を持っていませんが、テストを書く必要性は絶対にあります。

Titus Winters

Google 主任エンジニア

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

この結果にはサードパーティが使用する C++ コードのパッケージ化についての現状が反映されています。この問題が解決されるのを待ち望んではいますが、私にはそうなるとは思えません。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

依存関係管理とパッケージ管理の現状を悲しく思っています。複製可能なビルドと明快な依存関係チェーンには非常に大きな価値があります。この領域には、「たまたま機能する」というのが非常に多くあります。

Titus Winters

Google 主任エンジニア

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

CMake を C++ エンジニアのストックホルム症候群に例えたことがあります。競合他社を明らかにリードしているのを見れば、CMake が良くも悪くも事実上の標準となっているのがわかります。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

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

CLion では GCC ベース、Clang、MSVC、および IAR コンパイラーを使用できます。稀なケースや特定のケースでは、カスタムコンパイラー機能によって任意のコンパイラーを CLion で使用できます。

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

Python が AI と ML のプログラミング言語として広く普及しているわけですから、この結果に驚きはありません。NumPy や pandas などの品質ライブラリが存在するため、選択肢となるのは明らかでしょう。標準ライブラリに類似するものが求められているか、パッケージングの問題を解決する必要があるようです。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

あなたや所属チームがガイドラインの強制またはその他のコード品質 / 解析に使用しているツールはどれですか?

30% の人だけが静的解析を避けているのであれば、オープンソースコードがますます安全でセキュアになると確信しています。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

あなたや所属チームはどのようにコード解析を実行していますか?

C++ プロジェクトのビルド時間を最適化するために、どのツールまたは手法を使用していますか?

この場合は、小さい方が理想的です。来年あたりに、プリコンパイル済みのヘッダー、モジュール、Unity ビルドがどのように相互作用するようになるかに興味があります。

Guy Davidson

エンジニアリングプラクティス責任者、Creative Assembly

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

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

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