iLeichun

当前位置: 首页 > .NET

Windows Phone 7使人对.NET语言协同发展承诺产生怀疑

分类:.NET   来源:网络   时间:2010-10-23 14:32:17

2009年微软的Lucas Bolognese公开承诺协同发展C#和Visual Basic。虽然这两种语言都能自由地添加各自的特性,但如果一个新功能在另一个语言里没有就不能在这个语言里添加。在.NET 4里,函数式编程特性被添加到Visual Basic,动态特性则被添加到C#,这在很大程度上兑现了这个承诺。然而,一个挥之不去的问题和新的矛盾却为这个承诺蒙上阴影。

当前争论的核心是VB不支持Windows Phone 7。几个月来,我们一直在注视这个事件的发展,期待微软就VB是否或者何时支持他们的新平台做出坚定的承诺。随着Windows市场的免费/共享软件的饱 和,Windows Phone成为独立软件供应商在不离开.NET生态系统为大众市场提供应用程序的重要平台。因此不难理解VB粉丝的竭力反抗。

为了不再失去更多的市场份额,他们把所有资源用于构建这个平台,于是不难理解微软决定只专注于他们最重要的语言。虽然CLR是专门为C#和 VB(以及Java,这点比较奇怪)设计的,但事实上C#才是用于核心功能的语言,因此需要优先考虑。尽管这个承诺雷声大雨点小,Visual Basic用户仍然需要得到尊重,否则这个平台就会失去信用。

现在,Visual Basic for Windows Phone 7的CTP版已 经发布,紧张的气氛有所缓和。 微软是强调这是一个“早期”预览版,并且远未达到产品级别的质量。虽然Silverlight模板已经提供,但XNA仍未得到支持。这是一个多年的痛处, 即使现在也没有办法在Xbox 360上使用Visual Basic。我们以为当VB 9支持生成无需VB运行库(XBox不支持这些操作码)的应用程序时,这个问题会得到解决,但事实上并没有解决。

虽然目前没有涵盖在语言协同发展的承诺里,F#却慢慢开始支持Windows Phone 7了。 大约一个月前发布的F#的八月份CTP版包含了一个WP7版本的F#运行库,FSharp.Core.dll。 而所需的F# Silverlight应用程序的项目模板也通过Windows Gallery发布了。和VB一样,F# XNA应用程序的模板也没有提供。

我们在论坛里看到,另一个被要求的最流行语言不是IronPython,虽然很多人都想要它。也不是实际上已被放弃的JScript.NET或者 IronRuby语言。而我们看到人们要求的是那个奇怪的混合体,C++/CLI。显然,很多开发者希望把遗留的C++应用程序移植到Windows Phone上,并且把C++/CLI看作最佳选择。虽然用户界面肯定要重写了,但他们深信剩下的代码可以重用。(应当指出的是,C++/CLI已经通过ECMA-372标准化了,因此可由第三方提供,如果硬件支持的话。)

查看英文原文:Windows Phone 7 has put the .NET Language Coevolution Promise in Doubt

查看译文原文:InfoQ

更多