3

.NETアプリケーションを作成するときに、いくつかのプログラミング言語を使用することがよくあります。通常、レガシーコードとの相互運用にはC ++ / CLIを使用し、残りのコードにはC#を使用します。

ファーストクラスの言語としてのF#のサポートが予定されているので、私もそれを混ぜ合わせているのを見ることができました。

しかし、言語ごとにプロジェクトを設定するために複数の言語を使用する唯一の方法はまだありますか?Visual Studio 2010では、これに対するサポートが改善されていますか?他に解決策はありますか?

4

3 に答える 3

7

VS2010 が 1 つのプロジェクトで複数の言語をサポートしているとは思えません。正直なところ、それはかなり難しいと思います。異なる言語間で循環的な依存関係が発生する可能性があるため、コンパイラを次々と呼び出すことはできません。かなり深いレベルで協力する必要があると思います。技術的には実現可能だと思いますが、付加価値よりも手間がかかると思います。

于 2009-10-19T19:33:50.733 に答える
3

1 つの製品に非常に多くの言語を混在させることで、実際に何を得ているのか、本当に疑問に思います。C# には非常に優れた相互運用機能があり、通常、C++ は最も極端な場合にのみ必要です。アプリケーションで Windows XP テーマを使用する必要があった .NET 1.1 時代の 1 つのインスタンスを除いて、相互運用のために C++ を使用する必要はありませんでした。

F# は素晴らしい言語ですが、まだニッチな場所があると思います。何年にもわたって、C# は、関数型および動的言語機能を含むすべての世界の最高のものを包含するように成長してきました。F# の生の機能的な能力が本当に必要でない限り、一般的なプログラミングの観点からは、C# はニーズを満たすのに十分な機能を提供すると思います。

そのように複数の言語を混在させることで本当に利益を得ていることを確認してください. プロジェクトの複雑さが増すことによるコスト、開発者が 3 つの言語すべてを理解する必要があること、3 つの言語を使用することによる追加のメンテナンス コストなどを上回るメリットがあります。可能であれば 1 つの言語を使用し、C# が実際に解決策を提供しない極端な場合にのみ、代替手段に頼ってください。本当に F# を必要とするアプリケーションを作成している場合は、すべてを F# で作成します。

プロジェクトごとに複数の言語をサポートする VS2010 に関しては、私が聞いた機能ではありません。UI でそのようなことをサポートすることは非常に難しく、起動するのが混乱すると思います。その機能を提供するアドインも聞いたことがなく、ReSharper、SlickEdit などを使用しました。

于 2009-10-19T19:33:17.757 に答える