上周,微軟宣布了他們改變visual basic語言未來發展計劃的想法。這次公布給visual basic開發人員留下了很多不确定性,但visual basic語言的設計者anthony d.green說明了這個新政策的一些細節。
green首先列出了當時使用vb進行開發的四個基礎指導原則:
vb和c#共享的通用ide和平台建構塊。 共享的“多範式、面向對象、指令式、強類型等”語言特性。 在api的邊界需要強大的跨語言互操作性和豐富的語言創新機會(如泛型、linq、異步)。 客戶對語言工具奇偶校驗的回報。
現在微軟認為vb非常适合那些以windows平台作為目标開發平台的開發者或者程式設計新手(至少,程式設計不是他們主要的職業)。
另一方面,非windows平台的崛起給c#帶來了一定的影響但不會影響到vb。在green看來,vb不太适合遊戲開發或者基于mac os x的開發。vb對于非windows平台适應性的缺乏造成了困境,f#的開源以及c#對開源工具日益增長的支援,使得這兩種語言在吸引和保留開發人員方面優于vb。越來越多的c#開發人員進入了良性循環,他們可以帶來更多的進步,進而吸引更多的開發人員。
最後,green提出了一種情況,如果保持c#與vb的開發進度和功能特性齊頭并進,這對于有限的資源會産生壓力。微軟希望專注于c#,因為它以最快的方式提供最廣泛的回報。一旦這種回報産生了對vb開發人員有價值的想法,微軟會考慮從c#移植到vb。
這對于那些想知道他們在vb語言的投入能得到什麼回報的開發者來說意味着什麼?之前列出的四個原則已經被以下目标替代:工具、平台和語言。
green說,vb的品質工具仍然是重點,并提到visual studio 2017中的動态單元測試如何支援vb。在平台的基礎上,vb仍然會被維護以便支援.net core的.net标準。vb語言本身也會增加新的功能和關鍵字,但前提是它們對vb是有意義的,而不僅僅是因為c#中增加了這些特性。green舉例說像utf-8字元串就不會添加到vb中。
vb開發人員的反應非常激烈,許多人期待vb可以支援多平台,包括像hololens這樣的微軟技術。reed kimble寫到:“這是一個雞和蛋的問題。微軟不提供某個功能是因為他們沒有聽到人們的要求。人們沒有要求某個功能是因為微軟還沒有提供該功能,是以這必定意味着人們無法獲得這些功能。
本文轉自d1net(轉載)