InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Jonathan Allen 译者 李永伦 发布于 2010年10月18日

领域
架构 & 设计,
语言 & 开发
主题
F# ,
Visual Basic.NET ,
Silverlight ,
.NET ,
RIA ,
C++ ,
Windows Phone 7 ,
编程 ,
XNA ,
语言 ,
移动 ,
编译器
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标准化了,因此可由第三方提供,如果硬件支持的话。)
 

译者 李永伦 李永伦,从02年开始关注.NET,读过4年工商管理,任过3届微软MVP,最近迷上Windows Phone和Ruby。

  • 本文所属的特别专题为 RIA