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 planning cycle.

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.
Developer Central Newsletter
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, at http://lists.101com.com/nl/main.asp?NL=adt.

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 2.0 release.

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 and downloads.

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.

Stay Focused
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 your company.

Oh, and — have fun! From what I've seen so far, it's a great set of products.

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 Central.

About the Author

Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.

comments powered by Disqus
Most   Popular