Microsoft .NET, the software giant's language-independent architecture for enterprise applications, is a decisive departure from current Windows programming methods. Even the most intrepid developers have taken to the command-line tools supplied with the .NET SDK (software development kit), doing well enough with those tools to ask Microsoft Corp. to permit production use of .NET software. But to tackle large commercial projects, most developers need the help of a graphical IDE (integrated development environment) such as Visual Studio.NET.
The IDE is a developer's control panel, providing access to project management, source code control, editing, debugging, and documentation. With the release of Visual Studio.NET slated for sometime in 2001, Microsoft is attempting to deliver an IDE that will meet such comprehensive set of criteria.
Visual Studio.NET's unified interface should improve productivity and reduce error rates. Developers will no longer have to jump among applications. Keeping the coder's focus in one place and easing the management of projects that incorporate elements from different languages ought to result in getting cleaner, more creative code to market sooner.
Microsoft's current professional IDE, Visual Studio 6, doesn't live up to its billing as a unified development environment. Visual Studio 6 is actually several IDEs with similar features. To work on a project that uses some C++, some Visual Basic, and some server-side JScript, the developer must open four applications: Visual C++, Visual Basic, Visual InterDev, and the MSDN Library viewer. A professional Visual Studio developer's Windows taskbar is crowded with development tools, inviting errors because it falls to the developer to keep the interlanguage links straight.
Formerly known as Visual Studio 7, Visual Studio.NET is the next major release of Microsoft's development environment (see "Microsoft.NET's impact," www.infoworld.com/printlinks). This time the integration is complete: All of Microsoft's major programming languages -- C++, C#, JScript, Visual Basic, Transact-SQL, and Visual FoxPro -- share a single GUI. The documentation viewer is now part of the IDE, not a separate application as it is in Visual Studio 6.
Visual Studio.NET is the least stable part of the .NET preview, so Microsoft chose not to make it publically available with the .NET SDK. An updated beta release is forthcoming. For our first look, we set .NET aside and looked at Visual Studio.NET's overall worth as a development environment. Is there value to it beyond its .NET features?
Six plus one equals .NET
Visual Studio.NET's fortunes are unquestionably tied to its facility with the .NET architecture, but even those who are reluctant to embrace .NET will find plenty to like in Microsoft's new IDE.
The layout is a much better use of limited screen space. Whereas in our tests Visual Studio 6 was way too confined on a 1024-by-768 laptop display, Visual Studio.NET feels less cramped. The main client area does multiple duty as a text editor, Web browser, and online help viewer. When multiple files are open for editing, their names appear on a tabbed list. Navigating among several open files in Visual Studio.NET is much easier. The tabs are more intuitive than Visual Studio 6's multiple document interface.
In its layout and behavior, Visual Studio.NET feels like a cross between Visual C++ and Visual InterDev, which could take some getting used to for some Visual Basic developers.
Borrowing from the Web paradigm, Visual Studio.NET supports complete forward and backward navigation. If you tap the equivalent of the Back button, the editor returns you to the precise location, even a different line in the same file, of your previous work. This is a welcome change, as developers have wasted a lot of time in code editors just finding their way around.
This is also the first Microsoft editor that supports multiple clipboards. It has taken a long time, but yes, developers can finally copy several blocks of code to the clipboard and selectively paste them into other modules. The navigation and clipboard features present pop-up lists so developers can jump straight to a specific destination or paste a given block of code.
So much of editing is repetitive. Developers sometimes use Unix's visual editor (vi editor) for its powerful macro facility. Visual Studio.NET is no match for vi in this regard, but it does have the capability of recording keystroke sequences and playing them back on an assigned keystroke. The macros are editable, and developers can bind them to commands and to keys.
Visual Studio.NET's new command window offers keyboard-savvy developers relief from the tedium of point-and-clickdom. Most Visual Studio.NET functions have associated keywords that can be invoked from the command window. The macro and command window features will help make cross-platform developers more productive.
Microsoft bundled InstallShield with Visual Studio 6. InstallShield is a powerful installation tool, but its loose integration with the development environment causes it to ask questions the IDE could answer on its own. Now Microsoft has its own installation subsystem, dubbed Windows Installer, which Visual Studio.NET uses to reduce basic deployment to a one-button exercise.
We also found IDE shortcuts for remote deployment. It's now easy to build components, deploy them to remote servers, and launch a distributed debugging session. This emulates the modern clustered environment far better than does Visual Studio 6, which has a strong preference for single-machine development and testing.
Not soup yet
The preview of Visual Studio.NET really is a preview, and Microsoft warns us that this early release may look or feel nothing like the retail version due in 2001. It's too immature to use for production work, but we're told that many of the issues related to stability and missing features have already been resolved and will appear in beta releases.
Microsoft's release of the .NET SDK proves that worthwhile Windows development can be accomplished without a graphical interface. Indeed, if Visual Studio.NET were too much like Visual Studio 6, many developers might stick with command-line tools. Fortunately, Visual Studio.NET has a broader agenda than merely putting a simpler, more colorful face on .NET. We'll continue to share our findings with you as Visual Studio.NET evolves, but our work with the preview leaves us looking forward to the next generation of Windows enterprise application development.
Tom Yager (firstname.lastname@example.org) is the East Coast technical director of the InfoWorld Test Center. His book Windows 2000 Web Applications Developers Guide is now available.
THE BOTTOM LINE: ALPHA
Visual Studio.NET, tech preview edition
Business Case: A single environment for all Windows programming languages shortens the learning curve and eases projects that cross language boundaries. Organizations will be able to move cleaner, more creative code to market more quickly.
Technology Case: Tight integration places common functions within easy reach, even in multilanguage projects. Programmer-friendly features such as macros, an integrated Web browser, and Windows Installer tools add substantial value beyond the .NET support.
+ One user interface to learn regardless of language+ Reveals .NET features to unfamiliar programmers+ Many worthwhile enhancements to editing, debugging, and deploymentCons:
- Current Visual Basic users will need time to adjust- Uncertain shipping datePlatform(s): Preview runs under Windows 2000 only. Supported languages: C++, C#, Visual Basic, JScript, Visual FoxPro, Transact-SQL, HTML, and related files, including CSS and XMLShipping: 2001Microsoft Corp., Redmond, Wash.; (800) 426-9400; www.microsoft.com