VB o el otro lenguaje… :-)

Jeje. Disculpen, pero mi cerebro no procesa bien las cosas que llevan «;».

En una de esos finales de días agitados, navegando por quien sabe que página me tope con el blog del gran Jorge Serrano. Para quien no conoce a Jorge, les comento que fue el creador de PortalVB (al menos eso creo yo :-p). Un portal dedicado a VB tan bueno como el del mítico Guille.

Pués bien, allí en su blog de Geeks.ms encontre muchos artículos interesantes pero hubo uno que me llamo poderosamente la atención. Su título: C# o VB, VB o C#,… la envidia me corroe.

Ja. Que puede opinar un «visualbasiquero nato» que no sea que VB es mejor que el otro lenguaje… sorpresa, no defendio a ultranza a VB. Más bien analiza imparcialmente aspectos que muchos radicales dejan de ver.

A continuación, el post de Jorge. Repito es un post de Jorge Serrano, si quieren leerlo directamente desde su blog, hagan clic aqui, si no… leanlo a continuación.

Sus comentarios son bienvenidos:

«Durante el pasado MVP Summit 2008 ha salido a colación una vez más en algunos círculos de debate en pasillos o en salas de reunión una discusión que se está convirtiendo en un clásico… ¿C# o VB?, ¿VB o C#?.

A veces la gente que usa esta tecnología tiende a discutir en exceso qué lenguaje de programación es mejor dentro de .NET.

En otras ocasiones se habla de si un lenguaje de programación tiene ciertas características o funcionalidades que no tiene el otro o si hay más usuarios en el mundo que utilicen un lenguaje de programación u otro.

Las discuciones llegan hasta el extremo de mirar con lupa que lenguaje tiene más ejemplos de código fuente para .NET en la red, o que los ejemplos que aparecen salen antes en un lenguaje que en otro, ¿C# o VB?.

Vamos… aspectos que en mi opinión no llevan a ninguna parte.

Pero las discusiones son mucho más ácidas cuando se trata el tema de las características que cubren cada lenguaje… ¿qué lenguaje de programación tiene más características novedosas que el otro no tiene o cual implementa antes las novedades que el otro?.

Todo esto se resume muy bien con una palabra,… la envidia. Las personas afines a un lenguaje sacan pecho delante de las otras e incluso a veces llegan a pavonearse un poco. En fin… que no lo entiendo.

Los equipos de VB y de C# de Microsoft comentan que entre ellos existen sinergias, comunicación fluida y para nada como intentan hacer ver algunas personas una guerra interna de ver quien saca más características al lenguaje antes que el otro. Los programadores somos por lo tanto según los equipos de trabajo de VB y C#, los que vemos fantasmas donde no los hay o los que nos empeñamos en que existan.

Durante este pasado MVP Summit 2008 tuve la oportunidad de conversar durante unos minutos en el autobus que me llevaba al hotel con uno de los responsables de Microsoft de la ayuda del IDE de Visual Studio. Sí sí, jefes o responsables de Microsoft que no tenían problemas en meterse en un autobús repleto de fogosos MVPs y entablar conversaciones sinceras muy enriquecedoras (esto me recuerda a la otra entrada que he agregado en mi blog).

Me resultaron muy curiosas las preguntas que me hizo esta persona acerca de mi opinión con respecto a las diferentes tecnologías emergentes que Microsoft tiene en marcha, de los problemas económicos en el mundo actual y su relación directa con las tecnologías, así como alguna cosa más que me encantó discutir con esta persona, pero después de eso, surgieron las típicas preguntas del lenguaje motivo de esta entrada. ¿Cuál es para mí y en mi opinión el mejor lenguaje de .NET o el que yo considero idóneo para desarrollar aplicaciones Software?.

De mi cuello colgaba la acreditación del evento, estaba claro que era MVP de Visual Basic, por lo que él mismo podía pensar que la pregunta ya tenía una respuesta clara, rápida y concisa, pero aún y así me hizo la pregunta esperando creo yo una respuesta sincera por mi parte y alejada del forofismo, algo que hice y que comparto ahora con vosotros.

Honesta y humildemente creo que le sorprendió gratamente mi respuesta por las cosas que me comentó posteriormente y que lamentablemente no puedo comentar (hay aspectos del NDA que no me lo permiten, no es que quiera dar importancia alguna a esto).

Ante esa pregunta, le contesté que no entendía muy bien las discusiones de la gente acerca de la elección de un determinado lenguaje o de qué lenguaje es mejor que otro, y que desde que salió la primera versión de .NET Framework siempre he matenido una misma opinión al respecto y de la que nunca me he movido.

Para mí, un lenguaje de programación en la plataforma .NET no es otra cosa que un skin, una piel que recubre a la tecnología. Una piel que recubre a Microsoft .NET Framework, a sus productos y a los productos de terceras compañías.

A esa piel la podemos llamar C#, VB o de otra forma, pero lo realmente importante es la tecnología, es decir, Microsoft .NET Framework y lo que alrededor de ella hay.

También le comenté que dependiendo del tipo proyecto, de la gente del proyecto (de las personas y de sus conocimientos) y de muchos más factores, a veces es óptimo utilizar un lenguaje de programación en lugar de otro pese a que tengas especial simpatía por uno de ellos.

De esa forma, le comentaba que la experiencia anterior de la gente, marca para un responsable de proyecto en muchas oasiones, el uso o la toma de decisión del que podría ser el lenguaje de programación idóneo para un determinado proyecto. Por ejemplo, para un programador que ha programado siempre en Java, yo vería con mejores ojos que su tendencia inicial fuera C# en lugar de VB. Para un programador que viene de VB 6 programando sin orden ni concierto (reglas de programación, mentalidad de orientación a objetos, nomenclatura de código, etc), vería más adecuado para él el paso a C# que a VB en un primer momento. Poco después quizás podría pasarse a VB sin problemas, pero inicialmente y para obligarse a cumplir ciertas normas y formas de trabajar, C# podría ser un buen comienzo. Para un programador VB 6 que ha sido metódico en su codificación y que tiene claros aspectos relativos a la orientación a objetos, nomenclaturas, etc., su paso natural sería VB… y así podríamos enumerar una y mil situaciones diferentes pasando incluso por FoxPro del que también hablamos.

Es decir, no existe una elección clara y cristalina que indique qué lenguaje es el idóneo o el adecuado. Dependiendo de las situaciones, puede ser en unas ocasiones uno de ellos y en otras ocasiones otro diferente. Incluso podríamos llegar al extremos de hacer que un mismo proyecto pudiera combinar partes del mismo escrito en diferentes lenguajes de programación.

No obstante, esta es mi argumentación y mi explicación. Los lenguajes son pieles, skins, que recubren a Microsoft .NET Framework. Microsoft .NET Framework es el núcleo central, el core, el corazón que es lo que realmente nos interesa utilizar, y las discusiones o preferencias de un lenguaje u otro no es lo que realmente nos debe preocupar a la hora de abordar un proyecto en .NET, sino el uso correcto de la tecnología apropiada (WCF, WWF, DataSets tipados, ADO.NET Entity Framework, Oracle, SQL Server,… etc).

Sin embargo, en el MVP Summit 2008, he podido comprobar en algunos MVP afines casi radicalmente a un lenguaje, la carencia de ampliar sus miras hacia lo que es en mi opinión más práctico y más abierto para todos, comprender en el que el lenguaje es importante, sí, pero no lo más importante. No obstante, la envidia sigue comiendo a algunas personas y después de ver algunas reaciones de MVPs (pocas pero algunas) en este MVP Summit 2008, me temo que lo seguirá habiendo durante algún tiempo. Me temo que es un tema de educación y aprendizaje el hecho de que nos demos cuenta de algunos aspectos como estos.»

Cambio y fuera

Oscar

Post cruzado desde msmvps.com/blogs/oberroteran

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *