每個版本的Visual Studio開發環境通常都會在其IDE及其支援的程式語言中引入一些新功能。微軟開發部副總裁S. Somasegar最近展示了一些即將出現在Visual Studio 11中的新的程式語言功能。
JavaScript
雖然在Visual Studio的早期版本中已包含對於JavaScript的支援,但是Visual Studio 11打算進一步增強這種支援,即給予該語言全面認可,就像給予同類的頂級Visual Studio語言(C#、Visual Basic、以及C++)的待遇一樣。針對JavaScript預期的改進包括:
- 支援ECMAScript 5語言標準
- 智慧感知(IntelliSense)得到“顯著改善”,對於更大的檔案會具有更高的精確度和更好的效能
- 對JavaScript除錯的支援現在可與為其他Visual Studio語言所提供的除錯功能相匹敵,包括若干支援可與被除錯應用程式進行互動的除錯視窗
- DOM資源管理器(DOM Explorer)使得開發者可以檢查並操作HTML頁面中的文件物件模型(Document Object Model)
或許最有趣的新增功能莫過於REPL(Read-Evaluate-Print Loop,即“讀取——求值——列印”迴圈)。此功能為開發者提供了一種既可編寫程式碼又可與執行中的應用程式進行互動的互動環境。
Visual Basic / C#
非同步程式設計支援將被整合到C# 5和Visual Basic 11中,這些語言版本已引入Visual Studio 11。而在Visual Studio的早期版本中使用非同步程式碼對於開發者的實現和除錯而言在邏輯上都是很困難的。通過提供新的語言功能,使得Visual Studio 11在如下兩方面都得以增強:一、允許對非同步程式碼使用傳統控制流(迴圈/條件/以及其他);二、提供了可在整合偵錯程式中除錯這些語句的能力。
C++
計劃在Visual Studio 11中納入幾個有助於C++開發的顯著改善。這些改善包括:增強IDE支援(例如,引用突出顯示和語義著色)、以及構建本機Windows Metro風格應用程式的能力。並且更加註重對於使用C++ AMP(Accelerated Massive Parallelism,即加速大規模並行處理)技術編寫並行程式碼的支援。C++ AMP技術是在2011年6月AMD Fusion開發者峰會上宣佈的。Visual Studio 11將提供使用C++ AMP直接除錯應用程式的能力。
通過C++編譯器可進一步增強並行程式碼開發,C++編譯器將有能力檢測出適合速度提升的程式碼,進而實現自動向量化(auto-vectorization)和自動並行化(auto-parallelization)。
F#
Visual Studio 11將引入F# 3.0和Type Provider功能。此機制是在響應將靜態型別語言(F#)橋接至網路上找到的日益增長的動態資料的需要過程中逐漸形成的。型別提供程式(Type providers)簡化了對不同資料訪問庫的引入,而無需採用程式碼生成器。F# 3.0將支援OData[1]、WSDL[2]、以及SQL三類資料開箱即用,不過自定義型別提供程式還需自行編寫。由於F#是.NET Framework一部分,因此對於型別提供程式的支援並不僅限於F#。所有託管語言,包括C#和Visual Basic,將都能使用它們。
譯註
[1] OData,Open Data Protocol,即開放資料協議,是用來查詢和更新資料的一種Web協議,其提供了把存在於應用程式中的資料暴露出來的方式。關於OData的詳細內容,請參閱其官網。
[2] WSDL,Web Services Description Language,即Web服務描述語言,是為描述Web服務釋出的XML格式。關於WSDL的詳細內容,請參閱維基百科。
檢視英文原文:Preview of Visual Studio 11: New Programming Language Features