Let’s settle this up front. Microsoft has let its developers down. During the past few years, the company has left a trail
of broken promises: a .Net-centered operating system; a broad stack of managed, .Net-based server applications; effortless
targeting of everything from servers to cell phones; an egalitarian approach to programming languages; and a new, revolutionarily
productive, framework-aware IDE.
All of its pomp and preening attracted a crowd, but Microsoft’s grand, united procession split into smaller, scattered parades.
Instead of pulling the Microsoft development community together, the .Net initiative and Visual Studio .Net have in some ways
increased fragmentation and distressed developers with major changes that seemed arbitrary. Meanwhile, the Java and open source
communities have worked hard to increase the attractiveness of their environments to the degree that some traditionally loyal
Microsoft developers have acquired a chronic case of wandering eye.
Microsoft is betting that Visual Studio 2005 (code-named “Whidbey”) in conjunction with the new Visual Studio Team life-cycle
management system announced last week will revive developer enthusiasm — and rebuild the company’s credibility for expensive
future ventures such as the Longhorn operating systems and the Yukon edition of SQL Server. Although neither VS 2005 nor VS
Team ships until next year, a deep dive into betas and intense discussions with Microsoft have convinced us that Redmond has
been listening hard to both enterprise developers and their managers.
Turning back and forging ahead
Microsoft is mounting a two-pronged offensive to win back its enterprise development credentials. First, with VS 2005, it’s
trying to retain individual developers on the verge of straying elsewhere. VS 2005 restores most of the exquisitely balanced
feel of VS 6: relaxed yet productive, knowing yet submissive, the unobtrusive workmate who pulls you out of a fire the instant
you call for help. Remember Visual Basic? Visual C++? Visual InterDev? They’ve grown up a bit since developers last saw them,
but they’re coming home in VS 2005.
The second line of attack goes beyond the developer’s desktop to encompass life-cycle and project management. Visual Studio
Team Foundation is the server-based integration and services platform, and Visual Studio Team System is a suite of client
components that participants will use to plug into the team environment. (For brevity, the combined solution is referred to
here as VS Team.)
VS Team is Microsoft’s first attempt to get directly involved in most stages of the enterprise software development life cycle.
And its reach is broad. Microsoft plans to incorporate design, planning, project management, enterprise-grade source-code
control, coding, static analysis, profiling, functional and load testing, infrastructure design and validation, deployment,
and work-item tracking into VS Team’s fully loaded configuration.
The way we were
Whereas VS Team charts new territory for Microsoft, VS 2005 cultivates familiar ground. The languages and tools in VS 2005
balance productivity and code purity in a way that fits the rapid development of business applications. Not surprisingly,
Visual C# and Visual J# pick up new features. But Visual Basic 2005 and Visual C++ 2005 are reborn. Microsoft also sneaked
the functionality of Visual InterDev back into the toolset, with some Dreamweaver-like tweaks added. And the ClickOnce installer
puts the complexities of preparation for distribution and deployment in the hands of the development environment, where it
belongs.
Visual Basic 2005 abridges .Net’s pedantic grammar to accommodate inexperienced and impatient developers. VB coders won’t
need to know much about the .Net framework to get their work done. VB 2005 is, once again, the beginner’s language whose capabilities
rise to match your skills, recapturing several of the treasures jettisoned from VB .Net. Most notable is the “edit and continue”
function, which will once again give developers the ability to modify running code in the debugger.
Just as significant, Microsoft is putting Visual C++ 2005 back at the top of the food chain. When Microsoft released VS .Net,
it assumed that C++ developers would jump to C# en masse. Unmanaged — compiled to machine instructions — code was deemed primitive,
dangerous, and exploitable. VS .Net derailed Visual C++ to encourage C++ developers to evolve into more civilized and enlightened
C# beings.
New efforts on behalf of Visual C++ 2005 suggest that Microsoft has backed off the C# hard-sell. C++ libraries have been cleaned
up, with potential security holes plugged and new features added. Optional language extensions, which Microsoft has submitted
for standards consideration, wire .Net-essential capabilities such as garbage collection (automatic deallocation of memory)
into Visual C++ 2005. An implementation of the C++ Standard Template Library will provide a portable and transparent wrapper
layer around .Net.