Debugger, F# Language
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.








