Wednesday, July 17, 2013

New C#/VB Language features in VS2013/.Net 4.5.1? Nope, and here's why...

The Visual Basic Team - No new VB and C# Language Features in VS 2013

As you can see in the VS2013 Preview, we have not added new language features to Visual Basic and C# in the next version of Visual Studio. I’d like to share our thinking on this. There are essentially two main reasons why we chose not to evolve the languages this time around.

The most important is that we just shipped new versions of these two languages less than a year ago, with support for asynchrony being a major new and impactful language feature in both. Developers are still learning how to integrate and benefit from the asynchrony shift in languages and APIs. We are very excited about the quicker pace of release for VS, but we believe from experience that language versions need a little more time to settle in. Our current thinking therefore is that Visual Basic and C# should stay closer to the pace they have been on for the past decade. It’s a balance between providing stability and new value, and we feel like we already have that balance about right.

There is a more tactical reason for us as well, which is that we are nearly done reimplementing the compilers and language services for Visual Basic and C# from the ground up. You may have heard of this effort as the Roslyn project, and there will be many end user benefits to this work when it ships. From our internal perspective on the language team, the new infrastructure makes it vastly easier to implement and test new language features with confidence, quality and great tooling. While the old compiler infrastructure is rock solid and supports VS 2013 beautifully, any effort we spend implementing new language features on it takes away from investing in the tooling, language features and compiler APIs that will power the future.

We are actively working on the next versions of Visual Basic and C#....

So it's all Roslyn's fault... But actually, that's okay. I can live with a VS release without a language update. And given that it's .Net 4.5.1, it makes sense too. But using this time wisely my language building friends!

 

Related Past Post XRef:
Missed the session about C# 6/.Net 5 at Build? (Well there wasn't one, BUT Anders DID talk it up in this C9 Live Interview)

No comments: