Este es un documento de MSDN
http://msdn.microsoft.com/es-es/library/bb972208.aspx creado por un programador llamado Mario Félix Guerrero que explica la eterna pregunta ¿VB.net o C#?, muy posiblemente responda las dudas de mas de uno, eso si el articulo es un poco viejito y no tiene en cuenta características nuevas como las excelentes expresiones lambda de C#(en VB.net las hay pero me parecen demasiado verbosas ,además de que creo y no estoy seguro no se pueden usar varias líneas de código en ellas, creo que en vb 10 se podrá, que alguien si es posible lo aclare), si se hace el ejercicio del que hablan ahí es posible darse cuenta que el código de la función main es exactamente igual para las versiones release(versión que no es para depurar) del ensamblado, si se desensambla con ilasm.exe (desensamblador il del sdk) es posible dar cuenta de ello, hay que advertir que los ensamblados de vb.net son más grandes y si se aprecia bien es por la inclusión de My.
Aquí hay otros artículos (no msdn) que hablan sobre lo mismo.
http://www.elguille.info/NET/dotnet/vbvscs.htm
http://msmvps.com/blogs/gflores/archive/2006/04/17/91412.aspx
Estoy de acuerdo con JuanK_solocodigo sobre los puntos que expone, sobre todo con el ultimo “C# es totalmente orientado a objetos, vb.net no.” , un ejemplo de eso son los módulos(que a mi parecer deberían de eliminar en la próxima versión(no sé si lo hicieron)), en cuanto al punto “El compilador produce código más eficiente” me gustaría que JuanK_solocodigo si le es posible hiciera una demostración o entregara un enlace oficial de microsoft donde esto se pueda corroborar y comprobar, porque me interesaría realizar esa demostración a unos cuantos compañeros que tienen esta misma discusión por medio de un buen ejercicio(se lo agradecería bastante).
Hay un punto a favor de C# y es que tiene mejor soporte con mono sobre todo con su IDE oficial monodevelop.
Aquí hay unos artículos bastante interesantes sobre visual basic y el ensamblado para compatibilidad Microsoft.VisualBasic.dll para el que le interese.
http://www.clikear.com/como_eliminar_refencia_16800.aspx
http://geeks.ms/blogs/jorge/archive...ft-visualbasic-dll-en-nuestros-proyectos.aspx
http://geeks.ms/blogs/jorge/archive...visualbasic-dll-en-nuestros-proyectos-ii.aspx
En cuanto a lo de que los programadores de vb nunca se interesan por tener un código verdaderamente optimizado, no estoy totalmente de acuerdo, sobre todo con él NUNCA, yo fui programador de lenguaje C hace 9 años y me entro por programar en el horrible vb 6 y debo admitir que aunque el lenguaje no da mucho de sí para optimizaciones, en proyectos importantes programaba siempre con la optimización en la cabeza, tal vez digas ”es porque que vienes de C” pero la verdad he conocido a personas que empezaron con vb 6 y su forma de programar era bastante optimizada, incluso hasta envidiable. Eso si no tengo preferencias personales por C# o VB.net(al final programo en ambos).
Finalmente, cualquiera que tenga esa duda no se deje llevar nunca por el clásico “me parece más fácil C#” o “me parece más entendible vb.net”, todos somos personas diferentes y tenemos diferentes gustos, si a una persona le parece más entendible o fácil algo no existen garantías de que a uno las cosas le parecerán igual.
Y disculpas por el post tan largo pero la discusión de ¿VB.net o C#? viene de tiempito atrás y todavía se sigue dando, es por eso que es bueno presentar opiniones que ayuden a los demás.