In-Depth

The 800-Pound Code Gorilla

Visual Studio 2005 is packed with features, but is it too much?

When Microsoft launched Visual Studio 2005 (VS 2005) last November, developers were excited about the myriad new features and functions. However, many shops haven't even gotten around to using some of the most highly touted features, like the Visual Studio Team System (VSTS) for managing the development lifecycle or the Code Snippets and ClickOnce technologies.

Microsoft may have loaded up its latest integrated development environment (IDE) with more features than anyone knows what to do with, so the trick is to find the most appropriate version. Microsoft released several versions of Visual Studio: Standard, Professional, Express, VSTS and Office System. The idea was that developers could pick the tool that best fit their needs.

The most publicized version--VSTS--is Microsoft's answer to lifecycle management tools like IBM's Rational line. Designed for larger shops with multiple developers working on complex projects, VSTS supports many development roles, such as project managers, software testers, infrastructure and software architects, IT managers and development-focused partners.

Microsoft Visual Studio 2005

Microsoft Corp.
800-426-9400
http://msdn.microsoft.com/vstudio

Price Range:
$799 (Professional Edition) to $10,939 (Visual Studio Team System)

Unfortunately, the cons of VSTS can outweigh the pros. The main drawback is price. Visual Studio Professional Edition costs $799. The price tag for VSTS is a whopping $10,939. "If you had a team of 50 .NET developers creating a framework and class structure in some big implementation, I think [VSTS] would make sense," says Walter Crosby, a developer at Everyday Wireless in Concord, Mass. "But for a small shop, I just don't see it. The cost is just outrageous."

Even for companies large enough to justify the investment, there are other drawbacks, says Craig Berntson, a Microsoft developer MVP for a Fortune 100 firm. Berntson says his company uses VSTS, but only in a limited capacity. "If you're in a large company, you need a tool that will support everything and handle multiple platforms," he says. "The tools [in VSTS] are geared for Microsoft tools and platforms. Yes, they have J#, but it's still going to compile to .NET rather than Java runtime, so it won't be portable across different platforms."

Integration Tops the List
VS2005 is still a marked improvement over the 2003 version, however. Developing .NET applications with Microsoft's latest IDE is easier and faster. "The SQL Server integration is one of the biggest things you get in 2005," Berntson says. "I've already had to write some CLR code for SQL Server, and it's pretty cool how you can do that." He also cites the improved management.

Crosby agrees, but has yet to take full advantage of this. "The fact that you can connect a data source and identify a standard query that you're going to use and have it generate code is pretty cool," he says.

One reason Crosby hasn't used it yet is that he often finds VS 2005's code generation a bit flaky. "I've had to create some data adapters and it only generates the insert command, not the delete command or the update command," he says. "The solution, people say on the message lists, is to create your own code and attach it, but it's a lot of code to write."

Because of this quirk and the fact that VS 2005 includes more compiler-generated code than 2003, Crosby finds the new show-all command extremely valuable. "If you create a data source now and link it to a table in a database, you can have it generate a data adapter and all the 'add,' 'insert,' 'update' and 'delete' code," Crosby says. "Visual Studio hides that code behind data definitions, but if you wanted to see what's there, you can just click the show-all and it will show you all the compiler-generated files behind there."

The debugger is another key factor for Crosby. "The debugger in Visual Studio 2005 is fantastic," he says. "I've debugged everything from Web apps to Windows apps and Web services with a client accessing a server, and I wouldn't want to do it any other way."

The new ASP.NET functionality is a big draw for Berntson. "The ASP.NET stuff is way better than in 2003," he says. "It's a lot easier to develop the Web site, it's faster, you have to write less code and the personalization stuff for ASP.NET is pretty cool. That's a main reason to go to 2005."

Code To Go
Another of VS 2005's highly touted features is Code Snippets, a library containing more than 400 chunks of reusable code for common programming tasks. Berntson says he doesn't use the library because he feels it defeats the purpose of object-oriented programming.

"The idea of object-oriented programming is that you want to write objects that handle everything and only have the code in one place," Berntson says. "With Code Snippets, you're going to have code spread all over. It's like going back to VB 6 applications where you cut and paste a lot. I don't see the point."

Visual Studio 2005 Wish List

While VS 2005 is a major upgrade over the 2003 version, there are still a few more things users would like to see:

  • More Documentation: VS 2005 has so many classes and namespaces, it's difficult to find the best set for the job. Developers would like to see more comprehensive documentation and books devoted specifically to the new version.
  • Faster Speed: Visual Studio is slow, especially when first opening a project. VSTS is even slower. Developers would like to see more emphasis on performance.
  • Help files: VS 2005 includes HelpStudio Lite Authoring Tool, a lightweight tool for building help files within the IDE. "Dealing with help files appears to be an afterthought," says Walter Crosby, a developer at Everyday Wireless in Concord, Mass. "They need a better tool."
  • Multiplatform support: VS 2005 is geared primarily at Windows-centric shops. Large organizations with multiple platforms to support find it less than adequate in many cases.
  • Lower Price: Although VSTS is a great tool for managing the application development lifecycle, it's too pricey for all but the largest shops.

Similarly, developers have yet to fully embrace ClickOnce, VS 2005's new technology that's designed to make it easier to deploy and update Windows forms applications. "ClickOnce works great if you're in Microsoft-only environments, but not if you have to go to multiple platforms," Berntson says. "You're not going to want every user to just willy-nilly update the application when they need to. You need to centralize that because IT needs to control it all."

Complexity is another issue for VS 2005. "For me, it's the number of classes it supports," Berntson says. "It's really hard to drill in and figure out what classes and namespaces you need to use." Since there's a lack of good documentation on the tool, he tends to find most of his answers on the Internet. "Since you never really know which namespace and class to go into, the best thing is to just Google a question. Even if you don't use the code you find that way, it gives you a good idea of the direction you need to go."

The lack of documentation is a big surprise to Crosby as well. "I have yet to see a good book on Visual Studio 2005." Although he has attended every Webinar he could find, it's still difficult to know the product inside and out. "When you do your first setup, install or deployment project, you're flying blind."

The Need for Speed
Developers are less than excited about VS 2005's performance. "Visual Studio 2005 is really slow. It takes a while just to open things," Berntson says. One of the worst performing aspects, he notes, is the online help. "It tries to find stuff online before it brings up anything. Conceptually, it's good because it gives you more resources, but it's a lot slower."

Crosby says he's even seen performance hits during seminars run by Microsoft showcasing VSTS. Each time the Microsoft rep did a command like assigning a new work task, he had to wait several minutes. "I can do five things in the time it takes to set up one work task in Team Services," Crosby says. "I don't know what they'll do to speed it up but they have to do something."

Still, VS 2005 is the best tool for Windows for now. "If you're a straight Windows shop, it's going to improve your productivity," Berntson says. "You'll do things faster and write less code. Plus, they've improved the ability to bind your user interface to business objects rather than directly to your databases, so you can really get your multi-tiered applications going the way they should be. It gives you far more flexibility."

Despite its shortcomings, Crosby agrees. "I wouldn't want to build Windows apps without it, and I wouldn't want to try and debug Windows apps without it," he says. "Maybe by the time the next version comes out, I'll be starting to use all the features that are supposedly there."

comments powered by Disqus

Reader Comments:

Mon, Nov 26, 2007 Anonymous Anonymous

Forget special features of VSTS – they are useful/affordable for 5 companies out there. Sql server .Net helper functions are probably nice for those who use it. The quality of VC 2005 to VC 2003(or any VC before) could easily demonstrated by "Ctrl+F". In case of 2003 it is instantaneous in 2005 it takes several seconds (2-n). For any experienced Windows UI programmer this is a sign of bad UI. There are several other things – debugger in mixed mode, include path editor, non-functioning macro editor that are horror of slow .Net world. In fact if I needed example of why not to use .Net in you application I would use Visual studio 2005. Talk about "800-Pound Gorilla "...

Sun, Jul 23, 2006 Anonymous Anonymous

Berntson obviously hasn't a clue what code snippets are for, or he wouldn't have proffered quite such a moronic opinion.

Thu, Jul 6, 2006 Steve Bohlen NYC

I think the author here is trying to roll up a review of what are really four distinct (yet related and somwhat interdependent) technologies into a single VS 2005 review..

1) Writing CLR code for SQL Server is really a feature of SQL Server 2005, not VS 2005 tho having VS 2005 makes this alot easier than not, of course

2) The dearth of documentation about the large number of classes is really a commentary about the .NET Framework 2.0, rather than VS 2005 per se

3) VSTS is clearly a completely separate product offering from Microsoft that obvioulsy helps one leverate an investment in using VS 2005, but its speed, cost, etc. are really a separate technology from VS 2005 itself

4) The remainder of the comments are more narrowly-targeted to VS 2005, and while I agree with most of them (debugging is much improved, etc.), I do have to suggest that at least some of the negative performance comments targeted at VS 2005 are really the result of some configuration choices that can easily be changed...for example, the speed at which the integrated help loads can be easily addressed by simply changing the 'use online help first' to 'use installed help content first'.

I DO agree with the premise that VS 2005 contains a huge volume of capabilities that many developers will only be able to really scratch the surface of before the next release of the product, but that is after all what happens when you develop a product designed to be everything to everyone (at least in the microsoft-specific universe) -- some will use some of the capabilities and others will use others.

Just my $0.02.

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.