PC、Xbox、または PS3 向けにリリースされたほとんどすべての AAA ビデオ ゲームが完全に C++ で記述されていることは、今日の事実です。一部のベンダーは、内部で再利用するさまざまなエンジンの大規模なコードベースが既に C++ (物理、レンダリングなど) でビルドおよびテストされているため、C# に移行できないと述べています。また、パフォーマンスに関しては、 C++ コードが C# よりも高速に実行されるという一般的に受け入れられている事実です。
繰り返しますが、プロのゲーム開発業界が一般的に C++ を使用するのはなぜですか? 一般的な基幹業務アプリケーションは「得られる最高のパフォーマンス」を必要とせず、パフォーマンスと引き換えに信頼性 (メモリ リーク、OOB、スタック オーバーフロー) が「重要ではない」ためでしょうか? それとも、C# で記述された同じコードよりも、C++ の方が一般的に "保守が難しい" (テンプレート、ポインター、malloc など) という理由だけですか?
それとも、C++ での開発は C# で同じ機能セットを開発するよりも「時間がかかる」ため、必要なだけ多くの機能を実装できないためですか? しかし、今日でも、 UDKやCryENGINEなどの多くのハイエンド ゲーム開発キットは完全に C++ で記述されており、その機能セットはどのプラットフォームでも最高のものです。では、C++ がそのような企業にとって「難しい」、「制限する」、または「バグが多い」ものではないのであれば、ゲーム開発業界や科学/HPC 業界以外で C++ がほとんど使用されていないのはなぜでしょうか?