Each release of the Visual Studio environment typically introduces new features to both its IDE and the programming languages it supports. S. Somasegar, Vice President of Microsoft's Developer Division recently presented some of the new programming language features coming in Visual Studio 11.
JavaScript
Previous versions of Visual Studio have included support for JavaScript, but Visual Studio 11 intends to further improve this support by giving the language full recognition similar to the treatment given to fellow top-tier Visual Studio languages C#, Visual Basic, and C++. Anticipated improvements for JavaScript include:
-
Support for the ECMAScript 5 language standard
-
IntelliSense has been“[s]ignificantly improved”, with higher accuracy and better performance on larger files
-
Debugging support for JavaScript now matches whats provided for other Visual Studio languages, including debugging windows that support interacting with the application being debugged
-
The DOM Explorer allows developers to examine and manipulate the Document Object Model of an HTML page
Perhaps the most interesting addition is that of a REPL (Read-Evaluate-Print Loop) for JavaScript development. This provides developers with an interactive environment with which to write code and interact with running applications.
Visual Basic / C#
Asynchronous programming support will be integrated into C# 5 and Visual Basic 11, the language versions introduced in Visual Studio 11. The use of asynchronous code in previous versions of Visual Studio was difficult logistically for developers to implement and debug. Visual Studio 11 improves in both areas by providing new language features that allow use of traditional control flows (loops/conditionals/etc) with asynchronous code and includes the ability to debug these statements with the integrated debugger.
C++
Development with C++ is planned to receive several notable improvements under Visual Studio 11. Improvements include enhanced IDE support (e.g. reference highlighting and semantic colorization), and the ability to build native Windows Metro applications. There is an increased emphasis on support for writing parallel code utilizing the C++ AMP (Accelerated Massive Parallelism) technology. C++ AMP was announced in June 2011 at the AMD Fusion Developer Summit. Visual Studio 11 provides the ability to directly debug applications using C++ AMP
Parallel code development is further enhanced by the C++ compiler which will detect code suitable for speed improvements through its ability to implement auto-vectorization and auto-parallelization.
F#
Visual Studio 11 will introduce F# 3.0 and the Type Provider functionality. This mechanism has evolved in response to the need to bridge statically typed languages (F#) to the increasingly dynamic data found on the web. Type providers simplify the inclusion of various data access libraries without resorting to the use of code generators. F# 3.0 will support OData, WSDL, and SQL out of the box, but custom type providers can be written. As F# is part of the .NET Framework, support for type providers is not limited to F#. All managed languages, including C# and Visual Basic, will be able to use them.