Visual Studio 2015高级编程(第6版)
上QQ阅读APP看书,第一时间看更新

16.2 两种语言的选择

自从.NET Framework诞生以来,开发人员针对选择哪种语言编写应用程序一直争论不休。许多情况下,团队根据以前的C/C++、Java或VB6知识在C#和VB之间选择。但这个决定因以前的一个语言分歧而变得比较困难。过去,Microsoft公司的语言团队给各自的语言添加了额外功能,导致一种语言的许多功能在另一种语言中没有。例如,VB集成了对使用XML字面量的语言支持,而C#有匿名方法和迭代器。尽管使用这两种语言的用户可以从这些功能中获益,但组织很难选择应使用哪种语言。实际上,一些情况下,组织最终混合使用这两种语言,尝试给手边的工作使用最佳语言。可惜,这也意味着开发团队需要能读写这两种语言,团队有时会在某些使用C#的任务上受挫,有时又会在某些使用VB代码的任务上受挫。

Visual Studio 2010和.NET Framework 4.0推出后,在Microsoft中做出的这个决策也随着两种主要的语言(C#和VB)一起进化,这种共同进化寻求最小化两种语言的功能差别(常称为功能等价)。但这不是尝试合并两种语言;实际上正好相反,Microsoft清晰地表明,每种语言可通过不同的方式实现某个功能,确保与开发人员已经编写的代码保持一致,并能与语言交互操作。

但至少当涉及Visual Studio中的语言时,一个大新闻是引入了.NET编译器平台,其代码名称是Roslyn。