There have been a few VB vs C# debates flying around... I'll refrain from linking to them all, as they aren’t really saying anything new. One comment in particular caught my eye though, and I have to respond.

 

Jesse Ezell's post includes a quote that says "Microsoft is standardizing on C#" and then goes on to use that quote as a reason to suggest you shouldn't use VB.NET... well, I work for Microsoft and I am in discussions with the .NET groups every day and I know exactly what we are working on and working with, and I can tell you that Microsoft is not “standardizing” on anything.   Yes, much of our internal .NET development is done with C#, and why not? We are a huge campus full of C++ developers. If we did standardize on anything, I would expect it to be Managed C++.  Also, it’s worth pointing out that we do development in VB as well, including some of our internal business applications.

 

Before .NET, Microsoft used C++ almost exclusively (and we still do almost everything in C++) but that doesn't mean that everyone should use C++ to build their line of business applications. People also point out that much of the Framework was written in C#, but remember, it was written by C++ developers. There isn’t a single class, method, property, or event, anywhere in the Framework, that you can’t use from VB.NET. If someone builds a library in C# that you can't use from VB.NET, (and vice versa) they probably did it wrong...

 

C# is the flashy new language that has arrived with .NET so it gets a lot of attention (which led to more samples being written in C#, etc...), but Visual Basic is by far the more popular language and I don't expect that to change. I write code in Visual Basic everyday and nothing in the Framework is being "hidden" from me, I have full access to the Framework in all its glory. I don't think there is any need to ignore C#, but you certainly don't have to learn it to work in .NET...

 

Stop debating this issue; pick a language and build something... you'll feel better.