First, the scope of this product is huge. There are so many features, it's like counting the stars in the sky (If you live in the city and can't see any stars, take a look at the Hubble Deep Field to see what I mean.) Once upon a time, you could classify a Visual Studio user as C#/VB/C++, with maybe some database work thrown in. Now we have XAML, Azure, SOAP, SharePoint, IIS, HTML, XML, and much more. The audience that this product caters to is diverse and far-reaching.
I'll limit my discussion to the C++ features, since I primarily do development in C++, MFC and ATL. The "gold standard" for developing in those technologies was Visual C++ 6.0 (VC6), which ran far better on a Pentium II 350 than Visual Studio 2008 ever did on a Core 2 Duo running ten times faster. VC6 was built by and for C++ development, and it was a pleasure to use. I didn't drop VC6 until I was finally forced to use VS2005 to support Vista.
So here are my first impressions:
- VS2010 is much, much faster than VS2008. Opening the Server pane is now instant, instead of ten seconds or more of thrashing. Everyone was worried about the performance of the UI with the WPF rewrite. Everything I see related to performance is thumbs up.
- Multiple core parallel compiles are now the default, instead of a hidden teaser like they were in VS2008.
- The C++ editor is finally able to parse TODO and HACK tags in comments. The C# editor has been able to do this since VS2005.
- The Help system works. Finally! The Help system last worked properly in VC6. Since VS2003, the help system has been bloated, insanely slow, and almost random in results that it returned. "Help 3.0" in VS2010 returns answers almost instantly. The help system is implemented as an http server running on the local system. When I search on Windows SDK calls, I actually get the result I want instead of useless Sharepoint, .Net and DDK results. This alone makes VS2010 worth the price of admission.
- Help pages have been reformatted and are far more legible. However, it's not clear what will happen to the Community Content from VS2008.
- The UI has some cosmetic changes, but the toolbars are basically unchanged. This is a relief after prior releases rearranged everything.
- Many user interface stupidities have been fixed, like the resource browser closing every time you opened a resource for editing.
- The resource editor allows you to put in an alpha-blended mockup for reference when editing dialogs. Cool.
- The resource editor is still lame. Still no in-place editing of text.
- The dialog editor has problems with locking up for ten seconds at a time. Hopefully this is just a Beta problem. Also, there is no context menu when right-clicking design elements.
- Trying to search Help for #pragma still doesn't work.
- New language constructs, like lambda functions and auto declarations, make functional programming much easier.
I'm excited to try:
- The Parallel Patterns Library (PPL). This will be a huge step forward in making use of multiple cores in C++. I've used the .Net Task Parallel Library in C# and was very impressed - it has some fantastic ideas behind its development.
- The unit testing features, which appear to have been expanded since VS2008.
- The "Basic" install of Team Foundation Server, which should let mere mortals use TFS without having the overhead of specialized servers.
- Numerous other goodies that I'm still discovering.