私は伝統的にC ++コーダーです。過去12か月ほどで、私は多くのC#コーディングを行っており、C#の実用的なアプローチに驚きました(「ガベージコレクションを使用したC ++」であるかのようにコーディングしようとするのをやめました)。
最近、卒業生が何人かいますが、そのうちの1人を助けると、C ++で.Netを使用していることに気付きました。理由を尋ねた後、彼女は「マネージャーからC ++を使用するように言われた」と言いました。明らかなコミュニケーションの問題は別として、彼女が.Netを使用していたのは、それが彼女にさらされた唯一のフレームワークだからです。
その後、C ++を使用してFormsフロントエンドを駆動する上級開発者による古いプロジェクトに出会いました。これは.Netが最初に登場した頃に書かれていたので、.Netをいじるのは彼の側の学習課題だったと思います。それは小さなユーティリティアプリでした。
このアプリでいくつかの小さな変更を行う必要があったため、C ++を使用して.Netを駆動すると、両方の世界で最悪の事態が発生するように思えました。ガベージコレクションやメモリの安全性はありませんが、マネージドフレームワークを扱っているため、同様に実際の速度/最適化の機会はありません。
だから私の質問は、人々がC ++ .Netを大規模なスタンドアロン(つまり非配管)プロダクションコードに使用するかどうかであり、そうであればあなたの理由は何ですか?私はC ++ .Net拡張機能を深く掘り下げたことがないので、私はそれを害しているのではないかと自由に認めています。