I'm sure that I'm going to get a lot of crap from this, but here it goes...


While talking with a potential candidate today about what .NET language we were using on building our business layer & common library with, I mentioned that we will use C# for the common library and VB.NET for the business layer.  He asked, "Why?  You're current staff is mostly VB developers, wouldn't you just use VB.NET for all?".  That's when I re-iterated that we're planning on using VB.NET for some of our business layer development.  Since there's a small team (2 people) right now that will be working on both components, we picked the languages that made sense for each of the individuals working on them.

I also told him that in my experience (mostly in IA), C# developers will switch to VB.NET with less of a fuss than a VB.NET switching to C#.  It has often been the case that I've shown a VB.NET developer some C#, they're like, "Wait, it's not VB.NET."  They get so much hung up in the semmantics (curly braces and semi-colons) that they immediately shut down and refuse to think about the task.  As for  a C# developer will make some joke saying that, "Heh, it's VB.NET" and then get on with the business at hand. 

Yes, I know this is not typical for every case.  And that they're a lot of very poor C# developers out there and very proficient VB.NET developers.  Like I said, it's just been my experience in my area.

Can both languages do the same thing?  Yes.  Do they offer similar functionality?  Yes.  Jeff Atwod put it best with his choosing between .NET Coke or .NET Pepsi post.  To me it's about not being a C# or VB.NET developer, but more of a .NET developer...mastering the .NET framework and its concepts.  If you can become a .NET developer, the posibilities are endless.