Links about Visual Studio 2010 and C# 4.0

A while ago we announced Visual Studio 2010 and C# 4.0. In case you'd like to catch up and read articles or watch videos about the upcoming new features, I wanted to gather some links here.

PDC

TechEd EMEA 2008 (Barcelona)

C# 4.0 Language

As you probably know by now, C# 4 is mostly oriented on interoperability: better COM interop, better interop with dynamic languages (like Python), better interop with the browser (Silverlight, JavaScript) and better Office interop. Briefly, the new language features are:

  1. Dynamic - "late binding" in C# - a way to delay binding and code execution to runtime
  2. Variance - generic co- and contravariance
  3. Named and Optional parameters - better parity with VB, no more "ref missing", more readable code with named parameters
  4. COM interop support - omitting "ref" for COM calls, NoPIA (embedding Primary Interop Assemblies directly into your assembly to ease deployment) and some others

What to read about C# 4 language features? Well, first and foremost, there is always Charlie's blog that accumulates all C# news:

C# compiler developer's blogs are a terrific technical resource - highly recommended:

C# IDE improvements

As far as I can tell, we don't yet have a comprehensive resource about the new features in the C# IDE. Well, let me spill the beans and briefly mention them here, before I dive into the details in my upcoming posts.

  1. Call Hierarchy - for a method or property, allows to view Calls To (callers), Calls From (callees), Overrides (if applicable) and Implementations (if applicable).
  2. Quick Symbol Search - a very simple dialog with a textbox and a listbox that allows you to type a symbol's name or part of it (any type or member) and hit Enter to navigate to it quickly. Ctrl+, is the shortcut that you can reconfigure if necessary.
  3. Generate From Usage - just like we had Generate Method Stub by pressing Ctrl+. on a SmartTag under undefined method call, now you can generate a new class for an undefined class, a constructor for an unknown constructor, a property, an enum, etc.
  4. Highlight References - when a cursor is on a symbol, all the references to this symbol are highlighted in the currently opened file.
  5. Many other miscellaneous improvements, such as a better background compiler ("Live Squiggles"), XML doc rename refactoring, etc.

.NET Framework 4.0

Justin van Patten has a great overview of upcoming new features in .NET 4.0. It is worth mentioning, that 4.0 will have a new CLR version 4.0 (2.0, 3.0 and 3.5 were all working on the CLR version 2.0). Most notably, .NET will introduce tuples, code contracts, parallel extensions, variance annotations and a whole lot more.

Other Visual Studio improvements

Of course, I'm only scratching the surface of what the next Visual Studio will bring - many teams across the division worked hard and implemented a lot of cool stuff (e.g. Architecture Explorer, Sequence Diagrams, etc). I'm only mentioning some features that I personally find really interesting as a member of the C# team.

  • New Editor - the Visual Studio code editor has been fully rewritten from scratch using C#, WPF and MEF. It shims the old editor interfaces and pretends to behave just like the old editor, but it also exposes a nice new managed API that you can program against. A huge advantage of the New Editor is flexibility and extensibility - you can do really weird things with it, given the fact that it's WPF and allows any UIElement to be placed on it.
  • WPF Shell - the Visual Studio UI (Shell, menus, toolwindows, toolbars) has been rewritten using WPF as well, to allow customization. Not all of the UI has been converted, so there are some "islands of hWnd" floating in WinFormsHost, which will be converted in future versions.
  • Back-in-time debugger - the Debugger team introduced a new Historical Debugger, which records the program's execution and allows you to rollback the program's state (callstack, variables, etc.) to an earlier point in time.

In my next blog posts, I will start talking more about the upcoming new features (especially the Call Hierarchy one - since I was the one who tested it).

kick it on DotNetKicks.com

Comments

  • Anonymous
    November 20, 2008
    You've been kicked (a good thing) - Trackback from DotNetKicks.com

  • Anonymous
    November 21, 2008
    Materiale su Visual Studio 2010

  • Anonymous
    November 21, 2008
    A questo indirizzo è disponibile una grande quantità di link a materiale dedicato a Visual Studio 2010

  • Anonymous
    November 30, 2008
    "What's Next?" - Everybody is interested to about new upcoming this. When I purchase new

  • Anonymous
    November 30, 2008
    "What's Next?" - Everybody is interested to know about new and upcoming things. While I

  • Anonymous
    December 25, 2008
    "What's Next?" - Everybody is interested to know about new and upcoming things. While I

  • Anonymous
    January 24, 2009
    저희 팀에 Kirill Osenkov 이 쓴 blog post인데 정말 유용한 VS10과 C# 4.0에 대한  link가 있습니다. 시간 나시면 꼭 한번 둘러 보세요.  

  • Anonymous
    March 14, 2009
    This week we have ActionScript byte code manipulation, COM interop in F#, a quick look at the option