特定のシナリオで使用するのが望ましい言語は常にあります。迅速なプロトタイプ開発のために、VB6 は当然の選択でした。VB6 は、シンプルなデスクトップ ユーザー インターフェイスと、標準的で単純なデータベース操作の要件を備えたプロジェクトで選択されました。低レベルのルーチンを使用してデバイス ドライバーを開発する場合は、おそらく C または Visual C++ に依存していました。ASP は、Web インターフェイスの開発の標準的な選択肢でした。大雑把に言えば、すべての言語には特定の「ドメイン」または「専門化」がありました。
.NET フレームワークでは、すべての言語が相互運用可能であり、おそらく一貫性があります。さまざまな言語のモジュールをまとめてプロジェクトに含めることができますが、最終的にはすべて同じように扱われます (すべて IL にコンパイルされます)。
これは、私たちが以前持っていた区別がもはや存在しないことを意味しますか? その差別化は必ずしも悪いものではなく、何らかの制約によるものではなく、設計によって存在していたものです。これは、.NET フレームワークとそのさまざまな言語の処理により、明らかにいくらか減少しています。