There is a pattern we have seen emerge over the past couple years at Microsoft regarding .NET platform languages.

While the .NET framework supports many languages, it is clear the dominant players are C#, VB, and C++

C# and VB are very similar with respects to how development is actually done, while C++ is still pretty different as it has always been.


While there are only a handful of things that you can say VB does that C# doesn't and vice versa, more and more things are catering to the C# group, while VB gets left in the dust.

A few things that come to mind are

XNA Framework
.NET Microframework
MS Surface
SDK examples (Home Server, healthvault, WPF, etc..)

The list could be a bit longer but you get the point


So where does that leave VB in terms of its future, and the future for us developers who love and use this language over C# because we like the language syntax better?

It almost does seem a little silly for Microsoft to support 2 programming languages that are *almost* identical in features, while they have to maintain 2 teams to support the languages, 2 sets of docs, 2 (which often leads to 1, C#) sets of samples to showcase technologies, etc...

The reason I write in VB is because I love VB, I love its syntax, and its readability. I am not a fan of semicolons and curly braces.

So when the tradeoff comes my personal preference on syntax, over the ability to get samples from MS in the language I develop in, or getting the ability to tap into other frameworks like XNA, C# starts to get a bit more tempting.

How can the VB team prevent a mass migration of VB developers over to C# if Microsoft seems to favor C# in so many areas of development, or do you feel it is important to have equal competency in both languages?

Everyone keeps saying "right tool for the job is what you should use" but C# seems like a swiss army knife to VBs can opener...