In-Depth
VS2010 Release Candidate Expected this Month
Will the Dev10 improvements be worth it if the result is slower performance?
Microsoft is slated to offer a public release candidate (RC) of Visual Studio 2010 this month, delaying the formal "launch" of the upcoming IDE and .NET Framework 4 by a few weeks, according to the company. If Microsoft adheres to that schedule, VS2010 should be released to manufacturing (RTM) by April 12, the new launch date.
Beta 1 of VS2010 and .NET 4 were made available last May, followed by beta 2 in October. Participants in Microsoft's Technology Adoption Program and Visual Studio Industry Partners had access to limited community technology previews (CTPs) after the beta 2 release.
In November, at the Microsoft Professional Developers Conference (PDC), company officials announced that the upcoming IDE and framework would officially launch on March 22.
But by mid-December, approximately two months into the public beta 2 release, Senior VP of the Microsoft Developer Division S. Somasegar announced plans for the unexpected public RC build in his blog. He noted that developers had provided positive feedback on the new capabilities in VS2010 and .NET 4.
Somasegar also acknowledged: "[Y]ou have also given us feedback around performance issues, specifically in a few key scenarios including virtual memory usage. As you may have seen, we significantly improved performance between beta 1 and beta 2. Based on what we've heard, we clearly needed to do more work."
Scott Guthrie, a corporate vice president in the Developer Division, further explained in his blog: "We've been doing an intensive performance-optimization push the last two months that is delivering significant performance and virtual memory usage improvements across the product. The early feedback from a small set of customers testing interim builds since beta 2 has been positive about these improvements. We still have several big performance fixes in the process of being checked in that will improve things even further."
According to Guthrie, the public RC will include a "go-live" license with support for production deployments. The go-live license doesn't apply to Internet-based technologies such as Silverlight 4, currently in beta and slated for release in the first half of the year.
Developers have reported problems with VS2010 beta 2 hanging when XAML files are being worked on, crashing if debugging is done with the XAML editor open and other Silverlight and ASP.NET 4 issues. Similarly, sluggishness around Windows Presentation Foundation (WPF) and bugs in the automation models of the WPF command bars for VS add-ins have caused headaches for some people.
"For me, the main issue is XAML designer load performance, especially in a VPC [virtual PC]," says Stephen Forte, chief strategy officer of Telerik Inc. VPCs often lack the vector graphic video drivers and can slow down WPF and Silverlight, he points out.
"I can't say it's WPF that's slowing it down, but it's something to do with the rewrite. At the end of the day, I'm happy that [Microsoft] did this rewrite to bring Visual Studio's code base into more modern technology," Forte adds.
On Par with VS2008
Despite performance issues, beta 2 shows considerable progress over beta 1, according to most accounts. "Beta 2 is definitely better than earlier builds in terms of performance and stability," says Rockford Lhotka, principal technology evangelist for Magenic Technologies Inc. "They clearly have some way to go, though, to match VS2008. I think they understand that, as it's the reason given for slipping the March release date they were talking about at PDC."
Telerik's Forte also notes the great performance improvements between beta 1 and beta 2, but says he's happy that Microsoft has delayed the final release to work out some of the remaining kinks.
"I'm not too surprised about the performance issues -- I think it has a lot to do with getting it to at least match the previous release," says Rob Sanfilippo, analyst, developer tools and strategy, Directions on Microsoft. "They're probably getting beta feedback that it's just not performing."
Microsoft is making numerous changes in this release as it tries to move some of the technology to managed code, make better use of multithreading and debut a rebuilt interface that's based on WPF.
"One of the things that they're trying to do is scale it, so that you can deal with thousands and thousands of files," says Sanfilippo. "It's kind of ironic, but I think that's a separate segment of performance -- I haven't seen any feedback from developers who've tested scalability."
The ambitiousness of the project has led some developers to suggest that Microsoft should have considered a three-year release cycle, instead of a two-year one. But Sanfilippo believes Microsoft is responding to competition from open source environments such as Eclipse.
"Eclipse has the whole base of environments and add-ins, which makes it a lot more extensible," Sanfilippo says. "Microsoft's concerned with competing with that, so extensibility is one of the big advances. The new interface is WPF, and it's based on the Managed Extensibility Framework, so that it's extensible and can do all the things that Eclipse offers."
Performance Gains
Even with all these changes, Microsoft's goal is to get the IDE to meet an acceptable performance level for fairly basic systems. Brian Harry, Microsoft technical fellow and product unit manager for Team Foundation Server, explained in his blog in January: "We're really focused on taking a modest-class machine (a laptop-class hard drive, less than 2GHz CPU, 1GB of memory) and making sure it's a pleasant experience to use. We're also testing VMs [virtual machines] and Terminal server (with limited) bandwidth, etc. We're testing quite a few configurations, but it's all oriented toward making sure that whatever you're doing, your experience is good."
Harry noted that performance improved significantly when moving from 1GB to 2GB of RAM, but additional memory yielded diminishing returns. In his blog, Harry also noted that a super-limited CTP 3 was slated for release in mid-January. At press time, it was unclear which VS2010 SKUs and tools would be made available in the public RCs. VS2010 Ultimate and Team Foundation Server are definitely in the mix, according to Harry.
Developers will be able to uninstall beta 2 and install the RC without having to repave their machines, according to Microsoft. It's important to note that even with the "go-live" license, the RCs are not "fully" supported. When the VS2010/.NET 4 RTMs become available, developers will have to upgrade to the RTM to receive "full" Microsoft support.
The RC will include a newer version of ASP.NET MVC 2 (preview 2 was in VS2010/.NET 4 beta 2). However, it still may not be compatible with the versions for VS2008 SP1 -- developers cannot currently run ASP.NET MVC 2 for VS2008 SP1 and VS2010 on the same machine -- because ASP.NET MVC 2 requires functionality that's not yet in VS2010/.NET 4. All versions will be compatible when the VS2010/.NET 4 RTM is released, according to Microsoft.
The VS2010 tooling for Windows Mobile 7 and smart devices will be released out-of-band in conjunction with the technology itself, according to Somasegar. Developers can expect to learn more about Windows Mobile 7 at the World Mobile Congress later this month and at MIX10 in March.
Guthrie also indicated that his team is working with the Windows Azure team to get .NET 4 installed on Windows Azure as quickly as possible; he did not provide a time frame and the technology will need to be final (RTM) before that happens. VS2010 Premium and higher editions -- SKUs which require an MSDN subscription -- include 750 Windows Azure compute hours for test and development and 10GB Windows Azure storage.
RC to RTM
In the end, will the productivity improvements in VS2010 be worth it, if it means slower coding?
"I think that a lot of people are speculating that it's more serious than Microsoft is saying," says Sanfilippo. "But I don't think that's the case, because if it were, I don't think they'd say that it's [delayed by] a few weeks. I think that they probably have it under control. I expect the release to come out in the second quarter in 2010."
A quality product is worth the wait, according to many developers. "I'd much rather see them slip the date a little than release a substandard product," says Lhotka. "At the same time, I can hardly express how excited I am by the XAML designer capabilities. So as a XAML developer, the sooner they ship VS2010, the happier I'll be."
About the Author
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.