09
2018
01

上网管理软件尝试合并两种语言

事实是,这些类别对于确定使用什么工具来解决问题并没有太大的作用。在语言中把每个类别的特性集混合起来是目前的一个趋势,这对程序员有好处,程序员喜欢使用的语言常会从每个类别中选择最佳特性。当前的趋势是应用程序开发人员使用命令式/动态语言,而函数式语言删除解决特定域的问题。

.NET程序员会得到更多的特性。通过CLS(CommonLanguage Specification,通用语言规范)可以无缝地进行语言的交互操作,因此可以使用自己喜欢的命令式语言解决大多数要解决的问题,再使用函数式语言进行数据操作,或者利用某些核心数学来解决问题。

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

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

 

« 上一篇

相关文章:

评论列表: