Windows Phone 7于上周正式发布了,微软正在为Windows Phone 7的成功发布而兴奋,但是在一片喜气洋洋的背后同样也有着隐忧。
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用户仍然需要得到尊重,否则这个平台就会失去信用。
51CTO曾在“开发者眼中Windows Phone 7的进步与退步”中提到Visual Basic for Windows Phone 7的CTP版已经发布,紧张的气氛有所缓和。 微软是强调这是一个“早期”预览版,并且远未达到产品级别的质量。虽然Silverlight模板已经提供,但XNA仍未得到支持。这是一个多年的痛处,即使现在也没有办法在Xbox 360上使用Visual Basic。我们以为当VB 9支持生成无需VB运行库(XBox不支持这些操作码)的应用程序时,这个问题会得到解决,但事实上并没有解决。
虽然目前没有涵盖在语言协同发展的承诺里,F#却慢慢开始支持Windows Phone 7了。 大约一个月前发布的F#的八月份CTP版包含了一个Windows Phone 7版本的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标准化了,因此可由第三方提供,如果硬件支持的话。)
原文地址:http://www.infoq.com/news/2010/09/Co-Evolution-Doubts
原文名称:Windows Phone 7 has put the .NET Language Coevolution Promise in Doubt
原文作者:Jonathan Allen
【编辑推荐】
- Windows Phone 7版Adobe Acrobat 10将发布
- 开发者眼中Windows Phone 7的进步与退步
- 微软推Windows Phone 7 Silverlight程序员成赢家
- Windows Phone 7今日面世 微软“绝地反击”