The Next Software Wave
Next year, expect the .NET 2.0 onslaught and get ready by downloading some of the newest preview software out of Redmond.
"We are caught up Mr. Perry on a great wave whether we will or
no, a great wave of expansion and progress. All these mechanical inventions-telephones,
electricity, steel bridges, horseless vehicles-they are all leading somewhere.
It's up to us to be on the inside in the forefront of progress."
John Dos Passos
In recent years. Microsoft has started referring to their software as
arriving in waves. We're getting ready for one of these waves to break
right now, anchored by the coming release of .NET 2.0. The year 2005 should
see a number of significant product releases, including SQL Server 2005,
ASP.NET 2.0, and Visual Studio 2005. If you haven't been on the alpha
and beta programs, now is the time to learn what's new that can make your
job easier. While it's still too early to deploy any of the new code,
the products have solidified to the point where it's reasonable to guess
about what will actually ship. Assuming that your organization has a planning
horizon on the order of a year, .NET 2.0 will be here during your current
The Obligatory Feature List
I could easily fill this entire column (and the next several as
well) just listing the new features that are coming at us, but I don't
want to do that. There are plenty of places you can find comprehensive
feature lists, starting with the Visual Studio 2005 Developer Center http://lab.msdn.microsoft.com/vs2005/.
Still, it's worth mentioning just a few of the major changes:
- SQL Server handles larger databases than ever before, has built-in
support for an XML data type, lets you write stored procedures in any
.NET language, incorporates new reporting, notification, and message
queuing functionality, and new management and development tools anchored
in the Visual Studio shell.
- Visual Studio gets a new build tool, a high-end version with team
development facilities, improvements in source code control, refactoring
support, new editors for Web pages and HTML files, and, of course, the
usual assortment of visual gewgaws.
- C# adds generics and iterators to the core language and lets you spread
one class over several source code files.
- VB gains a new set of My classes that expose key machine and network
functionality in an easy to use way, using blocks, operator overloading,
partial types, generics, and deeper control over events.
- C++ has new keywords and constructs to more directly support programming
for the CLR. This replaces the Managed Extensions for C++ with a much
more integrated development experience.
- ASP.NET has a new model for separating code from markup, better standards
support, better data integration, new controls, and an amazing reduction
in the amount of code that you need to write for most common tasks.
| Want to read more of Mike's work? Sign
up for the monthly Developer Central e-newsletter,
including product reviews, links to web content, and more,
All in all, this is an exciting set of releases, with literally hundreds
(perhaps thousands) of new features that I don't have space to mention
here. If you recall how hard you worked to learn .NET 1.0, you should
set aside an equivalent amount of time to upgrade your skills for the
The Low and the High
In addition to adding all these yummy new features to give existing
users a reason to upgrade, Microsoft is introducing new editions of Visual
Studio at both the low end and the high end to capture new users.
On the low end are the new "Express" editions. These packages
encompass six products:
- Visual Basic
- Visual C++
- Visual J#
- Visual C#
- SQL Server
- Visual Web Developer
The Express edition products are being positioned for "first-time
programmers and hobbyists." They're somewhat stripped down (for example,
there are no source code control hooks) and each encompasses a single
language (except for Visual Web Developer, which provides one-stop shopping
for building ASP.NET Web sites). Pricing isn't clear yet, though it's
likely that it will be well under $100. SQL Server Express will be free,
replacing the current MSDE product as a version of SQL Server that anyone
can redistribute (and it's compelling enough that no one should be using
Microsoft Access for Web sites, unless their Web host simply won't allow
installation of SQL Server Express).
It remains to be seen just how Microsoft will distribute the Express
products, but several scenarios seem likely at this point. First, they
can pump them into the academic market, hoping to capture some beginning
developers who might otherwise opt for open source tools. Second, they
can use them as part of bundling deals with other software, filling the
niche that's now held by VBA. In any case, we'll be seeing Visual Studio
and the .NET products show up in new niches as a result.
For now, the best thing about the Express products is that anyone can
try them, whether they're enrolled in the formal Visual Studio beta program
or not. Start at the Visual Studio 2005 Developer Center to find details
At the other end of the spectrum is the new Visual Studio 2005 Team System.
Details about this offering are somewhat more murky, since the first beta
version hasn't shipped yet. But Team System is slated to include:
- High-level design tools
- Requirements management
- Integrated souce code analysis tools
- Integrated unit testing
- Integrated profiling
- Work item tracking
- A high-end client-server source code control system
Team System will ship in a number of different editions, and not every
edition will include all of these tools. Pricing isn't announced yet,
but it's already been announced that it won't be automatically free for
MSDN subscribers, even at the Universal level. It seems that with this
release Microsoft is trying to muscle into the enterprise space occupied
by tools from vendors such as IBM Rational. To learn more about Team System,
start at http://msdn.microsoft.com/vstudio/teamsystem/default.aspx.
Of course, in between the low and the high end, the current Visual Studio
SKUs will continue to be appropriate for most developers. It's just good
to know that the product will grow with you if need be.
With this huge pile of new tools coming all at once, it's pretty
easy to get overwhelmed or distracted. Already, there are dozens
of articles and blog entries out there on the Web covering the sexy new
features, which is what generally gets the press first (authors, after
all, like to play with new toys as much as the next developer). But for
most applications, concentrating on the new bits or wandering around at
random is not likely to be the most productive way to test the new version.
Assuming that you've actually been working with Visual Studio .NET 2003
(or even the original 2002 release), I suggest a more focused approach.
Rather than diving into the new features, start by taking your main application
and trying to convert it unchanged to the new version. This should be
simple with Windows applications and perhaps a bit more complicated with
ASP.NET applications. But it should work. If it doesn't, you've got a
problem and fortunately, Microsoft still has time to fix the problem.
One of the great innovations of this particular software wave is that
Microsoft is making it easy to get feedback into the process, and to be
sure it's been acted on. The new MSDN Product Feedback Center http://lab.msdn.microsoft.com/productfeedback/
lets you report bugs or make feature suggestions, see what other people
have had to say and keep track of the results. If you do find something
in Visual Studio 2005 (or one of its constituent products) that breaks
your application, hop on over and report it. With any luck at all you'll
get a quick response and an ultimate fix.
When you've got your current functionality ported, start taking a look
at new things. By this time, you should have a sense how the tools fit
together, and you'll probably have run across a few areas where things
look intriguing. Now's the time to experiment. But remember, your goal
is to ship code that makes money for you, and only secondarily to help
Microsoft find their own bugs. Don't feel that you need to test anything
exhaustively, but do report bugs as you find them. Over the long run we
all benefit from bug-free tools.
Finally, take the time to surface from your testing and consider how
the new releases will fit into your business plan. Decide whether there's
something compelling enough to make you an early adopter when the new
bits are released, or whether you can afford to hang back and let others
find any last-minute problems. Write a technology plan targeting the key
new initiatives that can grow out of .NET 2.0 for your product. Figure
out whether you want to be an internal champion for some new feature at
Oh, and have fun! From what I've seen so far, it's a great set
Ready to dig into the .NET 2.0 wave? Or do you still intend to hide
in the cabana for a few more months? You can get hold of me at [email protected].
I'll use the most interesting comments in a future issue of Developer
Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.