Visual Studio 2010 Makes Good Progress: Review

Microsoft’s Visual Studio development software gains enhancements to its core functionality and its handling of ASP.NET, C#, C++ and VB

Further, believe it or not, MFC is still alive and well and includes support for Windows 7 features as well as Office features such as the Ribbon. (That almost makes me want to go back to using MFC again after all these years. But maybe not.) And remember ATL? To quote the great Homer Simpson: “Is that thing still around?”

Indeed it is.

And let’s not forget the C++ standard library, which now includes many of the C++0x features. (But why “many” and not “all” of the features? Because the C++0x standard hasn’t been finalised yet.)

WPF

Now here’s a question for the current Visual Studio developers: Do you use WPF? I’m guessing not. Over the past few years of being active in the Visual Studio community, it’s become clear to me that the majority of programmers using Visual Studio have, for various reasons, ignored WPF, even though developing desktop applications is arguably much easier in WPF than with the older .NET forms approach. Yet, for some reason, WPF hasn’t been embraced by a very high percentage of developers. It’s hard to say why that is, but perhaps that will change with Visual Studio 2010, especially considering that much of Visual Studio itself has been redesigned using WPF.

WPF is now considered to be Version 4 (apparently to match the version numbers of everything else here), and with it comes a few new controls, including Calendar, DataGrid, DatePicker and WebBrowser. There are improvements to maintaining visual state, as well as support for touch input. The text rendering is also greatly improved. Microsoft was hit with a lot of complaints over text rendering early on in both Silverlight and WPF. Initially the company’s execs tried to convince us that the new text rendering was somehow better, even though to most of us with normal vision the text was ugly and blurry. They apparently listened and now the text is rendered much better, even allowing you to use ClearType.

And finally, going back to the IDE, the designer has been improved in its XAML support for both WPF and Silverlight. Here is more information on WPF’s improvements, as well as the designer’s improvements.

The debugger has greatly improved. You can have greater control over your breakpoints, including the ability to label them and even import and export them. (I’m not sure when you’d need to import and export them, but I imagine there might be the occasional need for it.) The thread debugging window has been improved; this is good because the previous one kind of stunk.

Also, the watch windows have an interesting improvement. Previously you could call functions in your watch windows. That’s an important feature, but it can also create problems if those functions modify the state of your program (change variables, and so on). That can totally screw up your debugging session. Now the watch window includes an icon that will warn you that refreshing the value will require other threads to run, which could cause side effects.

There’s also improved support for debugging parallel applications. I don’t have room here to describe this feature in detail, but consider this: Today’s processors have multiple cores, which you can use for creating parallel applications. Visual Studio now gives you more ability to debug such applications.

F# Language

Microsoft is really pushing its new F# language. I have no complaints there. This language now ships with Visual Studio, instead of being a separate download. If you’re interested in a modern language based on some really cool languages (ML and OCaml), then you might want to check this out.