I recently read an article regarding .NET techniques on a programming community site. The author explained at the end of the article that all the examples were written in C# because that's his personal preference. His author profile describing his skills mentioned his proficiency at several languages including VB.NET. With that, he included the parenthetical comment "I’m not proud of this".
Why would anyone do this? Why would anyone go out of their way to say this? What is SO damn wrong and shameful about learning, knowing and being proficient at VB.NET? Whenever I hear people bash VB.NET I have to ask, "What is so grand about C# that makes you so high-and-mighty that you should be ashamed by any association to VB.NET?"
I work with VB.NET on a daily basis. That's the language I started with when I dove into .NET. I also use C# on a daily basis. Once I learned .NET using a language syntax I was already comfortable with (VB/Script) I easily transitioned into using C# when I could focus on learning the C# syntax and not have to also stress over the .NET semantics. Frankly, I think this made my .NET skill aquisition that much faster.
I'll openly (and not shamefully) admit that I prefer working with VB.NET in some areas. I find that it is much friendlier when writing UI code in Visual Studio.NET (2003). It plays very nicely with the IDE when working with forms. However, in my main VS.NET solution all the projects are C# based except for the single VB.NET web application project. I greatly prefer C# for little reason other than the XML commenting in all the supporting libraries. However, I find C# to be a pain when building classes. In VB.NET when you type the first line of a Property, it fills out the rest, creating the structure for the default accessors. In C# I have to write them all out manually. (Hopefully I haven't missed some VS.NET configuration setting for that.)
The simple fact that all .NET languages are for most purposes identical in capabilities should make anyone feel that the languages are equal. Yet so many developers work with C# and steer clear of VB.NET while maintaining a holier-than-thou attitude towards the VBers. Get over yourselves.