|Visual Studio 'Whidbey' Details Emerge|
|Sep. 1, 2003|
The next release of Visual Studio, code-named Whidbey, will address concerns that led some Visual Basic developers to hold off on upgrading to .NET, and adds performance-tuning features of particular interest to ISVs. However, no details have been announced about how the company intends to implement support for the next release of SQL Server or respond to the acquisition of modeling tool vendor Rational by IBM.
Whidbey is timed to coincide with the release of SQL Server "Yukon" and its most anticipated new features will let developers create SQL Server procedures using the .NET Framework and languages such as C# and Visual Basic (VB). The company is not expected to divulge details of these features until its Professional Developers Conference, which begins Oct. 26, 2003, in Los Angeles.
VB Leads the Way
With the Whidbey release of VB, Microsoft hopes to entice developer holdouts to migrate to the .NET Framework by reintroducing a couple of important features that VB developers have come to rely upon, but which were absent in the initial releases of Visual Basic .NET (VB.NET).
Edit-and-continue. Whidbey will reintroduce a key VB debugging feature called "edit-and-continue" that was lacking in earlier versions of VB.NET. Edit-and-continue allows a VB developer to run VB code in the debugger, make changes to that code without leaving the debugger, and have those changes immediately compiled and appear in the running application without stopping and restarting the application. In more traditional debugging environments, a developer would stop the application, make the source code changes, recompile the code, and then restart the application in order to see the effects of a code change. With edit-and-continue, VB developers can be more experimental, trying out various source code changes until they find one that has the desired effect.
Drag-and-drop data applications. The Whidbey release of VB brings back the ability to create database front ends by simply dropping a few controls onto a form and specifying the database to be used. As part of its .NET platform, Microsoft introduced a new database API called ADO.NET, and although ADO.NET had many benefits over its predecessor, such as better offline use, it introduced additional complexity—VB developers had to write code to connect user interface elements to a database. With the upcoming release of VB.NET, developers can build database front ends in the old way, but still take advantage of the architectural improvements of ADO.NET.
In addition to restoring features that were present in previous versions of VB, Whidbey includes several new features designed to increase developer satisfaction.
Code editor suggests corrections. VB has long had the ability to identify syntax errors in source code even before the developer compiles the code. With Whidbey, VB will not only recognize many common errors but will also offer corrections, similar to the way the Word grammar checker offers corrections for programming language syntax and grammatical errors. Although it remains to be seen how many common errors it catches and how appropriate its recommendations are, the new feature has the potential to make the transition to VB.NET easier for many developers and to offer greatly increased developer productivity.
Keeping pace with C#. While admitting that VB appeals to a different set of developers than C#, Microsoft goes to great lengths to make sure that VB developers don’t feel that C# is a "better" or "more powerful" language. To this end, Whidbey will include some language features that were previously only available in C# (such as the ability to embed source code documentation via XML) and will try to keep up with new changes being made to C#.
Other Languages Also Get Improvements
While much of the effort in Whidbey clearly went toward convincing wayward VB developers to move to VB.NET and the .NET Framework, other languages also gained significant improvements. Most notably, Visual C++ includes a new performance optimization technology for native code (code that does not rely on the .NET Framework). This improvement should be appealing to ISVs, who are typically very concerned about application performance.
Normal optimizing compilers examine the source code for an application and attempt to balance the need for the smallest possible executable with the need for the fastest possible executable. These two goals are almost always in tension because making a section of code faster usually increases its size. But optimizing compilers typically do not have any information about how each section of code is used, such as how frequently it executes, and so have a hard time finding the optimal trade-off between speed and size.
Visual C++’s Profile Guide Optimization (POGO) allows developers to define common scenarios (for example, a scenario for a word processor might involve starting the product, opening a document, printing, and exiting). The compiler then produces an instrumented version of the application that captures important data about the scenario and feeds that data back in the compiler to guide the optimization process.
The result is that the compiler no longer makes optimization decisions in a vacuum; it has real data about how and where each block of code is used and can make appropriate trade-offs to maximize overall performance.
POGO is likely to be of particular interest to ISVs because they usually have a sufficient number of developers and testers to define and run the scenarios, and they have a strong commercial incentive to produce applications that are faster than their competitors'.
In addition, Microsoft has changed its program for development tools ISVs to make it more attractive to build upon and extend Visual Studio. (For details on these changes, see the sidebar "Program Changes Help Tools ISVs".)
Framework Changes Minor, Waiting for "Longhorn"
The .NET Framework receives only minor improvements in Whidbey, no doubt due to the large effort the company is devoting to "Longhorn," the next major update to the Windows client, which will incorporate the .NET Framework.
Smartphone support. The current version of the .NET Framework includes a version that is tuned for Microsoft’s Pocket PC platform. With Whidbey, the company will include a version of the Framework tuned for Smartphone devices as well.
Windows Forms tweaks. Windows Forms, the thick-client API set for the .NET Framework, gets some minor improvements, such as toolbars that match the look and feel of toolbars in Office 2003.
ASP.NET Master Pages. ASP.NET will include a new feature called Master Pages that allows developers to specify a common look for all pages in an application and then update their look by updating only the master. For example, a developer could move the site's navigation items from the top of a frame to the left side without updating individual pages.
No Word on Enterprise Improvements
The one area of Visual Studio that appears not to receive any substantive updates in Whidbey is enterprise support. IT organizations using Visual Source Safe, Microsoft’s source code control system, will have to make do with small improvements (such as support for Unicode). While the company acknowledges the weaknesses of Visual Source Safe, customers will have to wait until "Orcas" (the version of Visual Studio timed to coincide with Longhorn) in order to see any real improvements.
In addition, Microsoft has yet to respond to the acquisition of Rational by IBM. Rational is a leading provider of life-cycle tools (such as application modeling tools), and while IBM has said it will continue to support Microsoft’s platform, the level of such support is likely to decrease as IBM focuses its development efforts on its Linux-based platform.
The Visual Studio home page is msdn.microsoft.com/vstudio.
The home page for Microsoft’s Oct. 2003 Professional Developer’s Conference is msdn.microsoft.com/events/pdc/default.aspx.