Microsoft has checked off many items on software developers' wish lists with features in Visual Studio 2010, released last week. With a host of new development and test tools, fixes to buggy tools and a WPF-based IDE, early adopters are saying VS 2010 hits the mark.
Analysts and developers say there are far more pros than cons to switching from VS 2008 to VS 2010. Developers have a lot to be excited about in the new version, said Steven Porter, technical director at Wintellect, a Tenn.-based training and consulting firm focused on .NET and Windows technologies.
"It's definitely a major release," said Rob Sanfilippo, an analyst with Directions on Microsoft. "It's almost hard to find a component that hasn't been improved or completely redone."
The list of new features is indeed long. There are tools for Windows Azure, SharePoint development and parallel computing. There is an updated AJAX library, MVC2 for ASP .NET development and support for functional programming with F#. It also supports .NET Framework 2.0 through 4.0.
Pricing could be put on the con list for potential adopters. Visual Studio 2010 will run you from $549 ($299 upgrade) for the Professional Edition to $11,899 ($3,799 renewal) for the Ultimate edition. This is a fairly hefty increase over 2008 prices, SanFillippo said.
There were also a number of performance issues in some of the pre-release versions of VS 2010. Sanfilippo said the jury is out on whether or not these have all been resolved, but Porter and other developers interviewed by SearchWinDevelopment seem happy with the finished product's performance so far.
Improvements for C++ developers
In VS 2010, Microsoft has added a number of features to make C++ developers' lives easier. These include the addition of more parallel programming libraries, productivity tools and language features from the new C++0x standard in Visual C++ 2010.
One major improvement is the updated IntelliSense auto-completion utility, said Marc Gregoire, a Belgium-based consulting software architect. Specializing in C++ programming for large applications, Gregoire has been using Visual Studio since version 6.0.
IntelliSense in VC++ 2008 and earlier versions was annoying to use, said Gregoire. Sometimes it would just stop working and you would have to manually delete the IntelliSense database to get it recreated again. And often a developer would just get the wrong results when the dropdown list finally showed. It was really quite buggy, he said.
"With VC++ 2010, the IntelliSense feature has been thrown away and completely rewritten from scratch," said Gregoire. "Now IntelliSense is very fast and almost never gives the wrong results."
Other features C++ programmers might enjoy include support for designing Windows 7-style Ribbons in MFC, task dialogue support for MFC and improved debugging tools for multi-threaded applications. Moving forward, the new parallel patterns library will be important, Gregoire said, considering all the multi-core CPUs coming out.
VS 2010's new test, debugging tools
Some of VS 2010's new debugging and diagnostics tools will soon be on developers' best-of-breed lists, Porter predicted. He particularly likes the VS 2010 Ultimate Editions' IntelliTrace, which builds a detailed picture of everything that happened in an application before a bug. This makes it easier for developers to reproduce exactly what happened when a tester discovered the bug.
Another feature Porter highlighted is the ability for developers to click on a method and generate a sequence diagram to show how that method moves through the system. This capability makes it easier to add new developers mid-project.
Team Foundation Server updates
Microsoft also made some major updates to Team Foundation Server (TFS), Visual Studio's collaboration platform. Benjamin Day of the Massachusetts-based Benjamin Day Consulting said he found the new version far more usable than in the past.
"One of my disappointments with TFS2010 is that they made the installer really easy, so it's kind of killed one of my revenue streams," said Day. "Where TFS starts to become more interesting is in the whole integration piece, where you can integrate version control with project management, with automated builds, with automated testing and reporting."
TFS 2010 makes use of a new lab management and manual testing tool that Day said will get test and QA people more included in the software development lifecycle. There are more features for running automated tests against a running application, he said, as well as features for virtualization that more easily let QA people spin up test environments.
Playing up Windows Presentation Foundation (WPF)
The IDE itself in VS 2010 is based on Windows Presentation Foundation (WPF), which offers a new visual experience for developers, said Sanfillippo. This could make WPF more easily extensible for third-party tooling.
"It enables a lot more extensibility, so I expect we'll see lots of cool new extensions to the IDE from third parties," said Sanfilippo. "I think that's also important for Microsoft to do; their major competitor being Eclipse-based IDEs."
Eclipse-based IDEs often have many more custom tools and add-ons available than Visual Studio. While there have been some add-ons for VS, Sanfilippo said, the selection has been more limited. Now that Visual Studio is based on WPF, he said, this will likely change.