Visual Studio:在单个应用程序中使用多种编程语言的最佳方法

3
我在制作.NET应用程序时经常使用多种编程语言。通常,我使用C ++ / CLI来与传统代码进行交互,而使用C#处理其他部分。
随着对F#作为一流语言的支持即将到来,我也可以混合使用它。
但是,使用多种语言的唯一方式仍然是为每种语言设置项目吗?Visual Studio 2010是否有任何改进的支持?还有其他解决方案吗?
3个回答

7
我不相信VS2010支持在单个项目中使用多种语言,如果这是你的问题。说实话,我认为这将相当棘手。不同语言之间可能存在循环依赖关系,因此您不能仅在另一个编译器之后调用一个编译器-它们必须在相当深的层面上进行合作。虽然我敢说这在技术上是可行的,但我认为这将比增加的价值更多的工作。

3
我很好奇,您将这么多语言混合在一个产品中到底获得了什么好处。C#具有相当出色的Interop功能,通常只有在最极端的情况下才需要使用C++。除了在.NET 1.1时期需要在我的应用程序中使用Windows XP主题之外,我从未需要使用C++进行Interop。
至于F#,它是一种很棒的语言,但我认为它仍然有一个特定的位置。多年来,C#已经发展成为包含所有优秀功能的语言,包括函数式和动态语言特性。除非你真正需要F#的原始函数能力,否则从一般编程角度来看,C#提供足够的函数能力以满足您的需求。
确保您真正从多种语言混合中获得了好处。这个好处是否超过了增加项目复杂性的成本、要求开发人员理解所有三种语言的要求、利用三种语言的额外维护成本等。我认为总体而言,这是一个相当困难的销售。如果可以,请使用一种语言,并仅在C#真正无法为您提供解决方案的极端情况下使用替代方法。如果您正在编写一个真正需要F#的应用程序,请在F#中编写整个应用程序。
至于VS2010支持一个项目中多种语言,这不是我听说过的功能。我认为在UI中支持这样的功能非常困难,并且容易混淆。我也没有听说任何提供该功能的插件,我已经使用了ReSharper、SlickEdit等工具。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接