The deal is, both VB.NET and C# produce the same MSIL code, share a Common Runtime Library (CLR) and envelope the same feature-set (well almost). Its just a matter of semantics and personal choice. Personally, I’ve been using both VB.NET and C#, and I’m equally productive in both. However, from project to project, or module to module, I may find the need to stick to one of the two for the reason of legacy code portability or just going by the choice of the whole team. Eventually, its the final product and its quality that matters. Ideally, the choice of programming language shouldn’t (and doesn’t, in .NET) affect the performance or shape of the application. It may hold some truth for developers starting out with .NET, in which case quite obviously a VB6 developer will be more comfortable with VB.NET and a C++/VC++/Java developer will be more comfortable with C#.