Although not without problems, Microsoft Visual Studio is the premier IDE for developing applications with the Microsoft .Net Framework and at least a contender for the best Windows-hosted C/C++ IDE.

Judging by this beta, Microsoft Visual Studio 2010 is a promising update.

Microsoft Visual Studio 2010: Improved UI

Microsoft Visual Studio 2010 has a revamped user interface that looks much cleaner than previous versions of Visual Studio, and uses Windows Presentation Foundation (WPF) rather than Windows Forms.

We like the way this works, at least on a computer with plenty of RAM and a good graphics board. We give the Microsoft Visual Studio 2010 UI a big thumbs-up, and it also supports multiple monitors.

Not surprisingly, the WPF designer is even smoother than before. Additionally, you can now generate data-bound WPF controls by dragging items from the Data Sources window to the WPF designer. Even better, the XAML designer for Silverlight achieves parity with the WPF designer; you no longer need to switch out of Microsoft Visual Studio 2010 to Expression Blend to work on a XAML design visually.

The new code browsing features are another win. Once you've learned to use Ctrl-Scroll to zoom in and out on the screen, you don't even think about it. Once you've learned the Navigate To shortcut (Ctrl-Comma) and the Call Hierarchy navigation, you'll wonder how you got around your projects before.

Microsoft Visual Studio 2010: Debugging and TDD

Microsoft Visual Studio 2010 has much improved thread debugging; given the increased support for multithreading and parallelism, this is a necessity.

Toolboxes and IntelliSense are now sensitive to the Framework version of your target project, so you don't have to wait until compile or runtime to discover that you've used a feature unsupported by your target. Again, given the increased number of possible targets, this is a necessity.

Microsoft Visual Studio 2010 has supported test-driven development for years, but it was always awkward to create new stubs and to synchronise IntelliSense if you actually wrote the tests first. Now you can switch into consume-first mode to keep IntelliSense from running amok, and you can generate stubs from their usage.