A group blog from members of the VB team
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#. The language design team is in full gear, led by Anders Hejlsberg as usual, and we are considering lots of new language features, big and small. We are looking very much forward to sharing more details about this work as the ideas mature, and to ultimately ship these new language features in a future version of Visual Studio.
In the meantime, do enjoy VS 2013, and not least the improved async debugging!
About the Author
Mads Torgersen is the program manager for the C# language design and specification, and is also on the VB and TypeScript language design teams.
I looked at getting some Microsoft training and noticed that there is no longer a VB track. Is this an indication of the future of the language? Our company is heavily invested in VB.Net for our inhouse applicaions? Do we need to change this. VB is way easier to deal with that C#, but I will make the move if VB is going away. Can you shed any light on this?
VB is dead. MS won't kill it off officially but there are never any demos released in VB. No live demos, no canned demos. Here's the announcement of the Win 8.1 app samples. See anything about VB?
@Mads the VC++ team appears to have adopted the incremental approach discussed earlier in this thread:
@Dave those of us who use VB extensively recognize that C# and VB are basically interchangeable and that samples in C# are easily ported. F# is in a similar position. As long as Microsoft continues to uphold their promise that VB and C# will be co-developed I see no reason to switch. VB.Net is a beautiful and elegant language.
I don't know C# syntax and I stop dead when hitting something like this:
Scenarios.SelectedIndex = startingScenarioIndex != -1 ? startingScenarioIndex : 0;
There are numerous examples where I have to stop and figure out what the C# syntax is doing when I should be concentrating on the new ideas. C# is intentionally cryptic and if MS wanted to put out examples that both C# and VB programmers can read then they'd do it in VB which is not cryptic. You know C# so of course you can translate it easily, but I don't. If it's so easy to translate the examples, then why doesn't Microsoft have someone do it? That way all the VB programers, the 10 of us that are left, won't have to stumble through it. I've been using Microsoft BASIC since QB2 and I've never seen such total disrespect for the language as now. When our Technical Evangelists can't even do a demo in VB, what does that show us?
Many people use those samples to start their own apps. I can't. Do you have any idea how long it would take me to convert even the simplest solution to VB? If you're not going to put out the samples in VB, then provide us with a translator that will translate the entire project, or just announce the death of VB and let's get it over with.
Actually I would also like to know the future of VB, like Dave Kulick said, we too have invested heavily in vb.net build apps. Yet the numbers examples/demo apps are disproportionaly in favour of C#.
I can write in C#, but I prefer to use VB when ever I can.
Hello! How to add crystal report viewer in vb.net 2013. plz help
The .NET Framework definitely become more and more powerful (With the support of Linq, Task, etc).
As far as I'm concerned, the Visual Basic language does not BASIC enough for developers. Much keywords must be used and the program seems more complicated to read than C# programs.
Would you please make Visual Basic more succinct? (BTW, remove the ByVal keywords is very useful)
Another thing is, the code does not present properly in Visual Studio 2013: The class and the function always the same color (This isn't happening in C#, where the classes were on light blue and the function is on white). Could you fix this in next release?
For a zillionth time, I put a comment into my code and VB IDE indicated that is it an error. Oh, yeah, VB does not allow comments at the end of multiline statements...
THAT is the feature I am longing for long. WHAT IS THE PROBLEM with that? Technical? I doubt so? Religious? Maybe. What is simpler than making compiler ignoring the rest of any input line, after the apostrophe. Could you be so kind and include that tiny feature in first next release? I promise I would not use it to describe parameters in method definitions (but will in method invocations :-)) ).