First look: Visual Studio 2010 Beta 1 teases

Microsoft's IDE reveals a cleaner look, IntelliSense and Designer improvements, even parallel programming support, but some promises still achingly unfulfilled

1 2 3 Page 2
Page 2 of 3

.Net languages

The Visual Basic and C# languages have both evolved in nice ways and nearly achieved feature parity. Visual Basic now has lambda expressions and implicit line continuations; C# now has simplified COM calling and dynamic language support. Both have a new feature called type equivalence that simplifies deployment against different versions of an assembly, which is especially useful when trying to program against the Microsoft Office APIs. (Lambda expressions are anonymous inline functions or methods; in the .Net Framework they are used as a concise way to define delegates, and they're very useful when writing LINQ queries.)

F# is a functional programming language based on ML and OCAML, which uses the .Net Framework and interoperates with other .Net languages. F# was previously a research project; it's very nice to see it as part of Visual Studio 2010.

[ Microsoft Visual Studio 2008 was the InfoWorld Test Center's pick for Best IDE of 2008. See the rest of the 2009 Technology of the Year Award winners. ]

One of my constant annoyances with Visual Studio 2008 has been its half-baked JavaScript parsing and IntelliSense. More times than I could count, it "helpfully" completed my code with irrelevant nonsense. Microsoft calls the VS2010 version "dramatically improved" and "2 to 5 times faster." That isn't actually saying much, considering how bad IntelliSense for JavaScript was before, but the improvement is certainly welcome, and in fact the JavaScript support is pretty good.

When working with big Visual C++ projects, I used to dread making changes to core header files; it would nearly always force me to take a break while the IDE caught up. The IDE is now smarter about parsing files in the background.

The VS2010 C++ compiler now supports the lambda expressions, rvalue references, compile-time assertions, expression type discovery, and automatic type deduction features of the C++0x standard. Another piece of good news is that the VS2010 C++ compiler has a mode that is backward-compatible with the Visual Studio 2008 tools and libraries. This will make it easier for individual developers to upgrade even if the rest of the team doesn't want to switch over.

Web deployment and parallel programming

Web deployment hasn't historically been one of Visual Studio's great strengths. All too often, I found myself switching to an FTP client for deployment instead of using the deployment tools in Visual Studio 2008. The one-click publishing feature of VS2010 may well change that, although I have yet to work up the courage to use it on a production site.

For me, the biggest new features of VS2010 have to do with parallel programming. I once wrote part of a book on parallel programming, and I have been following the various languages, frameworks, and libraries with interest, including Joe Duffy's work at Microsoft. I'm not sure that I've completely grasped the power of the new .Net Framework and native C++ support for task and data parallelism in VS2010, but what I've seen so far is impressive. A bunch of interesting parallel programming samples have recently been posted on CodePlex; I think they're worth checking out.

1 2 3 Page 2
Page 2 of 3