Windows Phone 7破壞了.NET語(yǔ)言的協(xié)同發(fā)展?
Windows Phone 7于上周正式發(fā)布了,微軟正在為Windows Phone 7的成功發(fā)布而興奮,但是在一片喜氣洋洋的背后同樣也有著隱憂。
2009年微軟的Lucas Bolognese公開承諾協(xié)同發(fā)展C#和Visual Basic。雖然這兩種語(yǔ)言都能自由地添加各自的特性,但如果一個(gè)新功能在另一個(gè)語(yǔ)言里沒(méi)有就不能在這個(gè)語(yǔ)言里添加。在.NET 4里,函數(shù)式編程特性被添加到Visual Basic,動(dòng)態(tài)特性則被添加到C#,這在很大程度上兌現(xiàn)了這個(gè)承諾。然而,一個(gè)揮之不去的問(wèn)題和新的矛盾卻為這個(gè)承諾蒙上陰影。
當(dāng)前爭(zhēng)論的核心是VB不支持Windows Phone 7。幾個(gè)月來(lái),我們一直在注視這個(gè)事件的發(fā)展,期待微軟就VB是否或者何時(shí)支持他們的新平臺(tái)做出堅(jiān)定的承諾。隨著Windows市場(chǎng)的免費(fèi)/共享軟件的飽和,Windows Phone成為獨(dú)立軟件供應(yīng)商在不離開.NET生態(tài)系統(tǒng)為大眾市場(chǎng)提供應(yīng)用程序的重要平臺(tái)。因此不難理解VB粉絲的竭力反抗。
為了不再失去更多的市場(chǎng)份額,他們把所有資源用于構(gòu)建這個(gè)平臺(tái),于是不難理解微軟決定只專注于他們最重要的語(yǔ)言。雖然CLR是專門為C#和VB(以及Java,這點(diǎn)比較奇怪)設(shè)計(jì)的,但事實(shí)上C#才是用于核心功能的語(yǔ)言,因此需要優(yōu)先考慮。盡管這個(gè)承諾雷聲大雨點(diǎn)小,Visual Basic用戶仍然需要得到尊重,否則這個(gè)平臺(tái)就會(huì)失去信用。
51CTO曾在“開發(fā)者眼中Windows Phone 7的進(jìn)步與退步”中提到Visual Basic for Windows Phone 7的CTP版已經(jīng)發(fā)布,緊張的氣氛有所緩和。 微軟是強(qiáng)調(diào)這是一個(gè)“早期”預(yù)覽版,并且遠(yuǎn)未達(dá)到產(chǎn)品級(jí)別的質(zhì)量。雖然Silverlight模板已經(jīng)提供,但XNA仍未得到支持。這是一個(gè)多年的痛處,即使現(xiàn)在也沒(méi)有辦法在Xbox 360上使用Visual Basic。我們以為當(dāng)VB 9支持生成無(wú)需VB運(yùn)行庫(kù)(XBox不支持這些操作碼)的應(yīng)用程序時(shí),這個(gè)問(wèn)題會(huì)得到解決,但事實(shí)上并沒(méi)有解決。
雖然目前沒(méi)有涵蓋在語(yǔ)言協(xié)同發(fā)展的承諾里,F(xiàn)#卻慢慢開始支持Windows Phone 7了。 大約一個(gè)月前發(fā)布的F#的八月份CTP版包含了一個(gè)Windows Phone 7版本的F#運(yùn)行庫(kù),F(xiàn)Sharp.Core.dll。 而所需的F# Silverlight應(yīng)用程序的項(xiàng)目模板也通過(guò)Windows Gallery發(fā)布了。和VB一樣,F(xiàn)# XNA應(yīng)用程序的模板也沒(méi)有提供。
我們?cè)谡搲锟吹?,另一個(gè)被要求的最流行語(yǔ)言不是IronPython,雖然很多人都想要它。也不是實(shí)際上已被放棄的JScript.NET或者IronRuby語(yǔ)言。而我們看到人們要求的是那個(gè)奇怪的混合體,C++/CLI。顯然,很多開發(fā)者希望把遺留的C++應(yīng)用程序移植到Windows Phone上,并且把C++/CLI看作最佳選擇。雖然用戶界面肯定要重寫了,但他們深信剩下的代碼可以重用。(應(yīng)當(dāng)指出的是,C++/CLI已經(jīng)通過(guò)ECMA-372標(biāo)準(zhǔn)化了,因此可由第三方提供,如果硬件支持的話。)
原文地址: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將發(fā)布
- 開發(fā)者眼中Windows Phone 7的進(jìn)步與退步
- 微軟推Windows Phone 7 Silverlight程序員成贏家
- Windows Phone 7今日面世 微軟“絕地反擊”