Vbnet vs CSharp, la saga continua

http://sergiot2.com/blogimages/2008/10Oct/24_superman-vs-captmarvel.jpg

Es casi imposible no recibir las preguntas: ¿Cuál es mejor, VB.Net o C#?”, ¿Cuál debemos usar?, ¿Por qué?

Y el tema es, como ser imparcial y no recomendar sólo porque a nosotros, a título personal, nos gusta gusta uno más que otro. Cómo le decimos que uno es mejor que otro, por usar “;” o por no usarlos. Y bajo la perspectiva de Microsoft, y uno de los objetivos cuando se liberó Microsoft .Net, era que tu podías programar lo mismo, independientemente de que lenguaje usarás: ya sea que uses C#, Vb, J#, y toda esos lenguajes que aparecían en aquellas listas.

Lo cierto es que hoy en día principalmente se desarrolla sólo con C# o Vb.Net, si usas la plataforma .Net. Y la recomendación es: “Si eres un programador de Visual Basic (no .Net) usa Visual Basic .Net, si eres un programador de C++ o Java, usa C#“.

Aunque creo que la propuesta de Jorge es mucho más interesante, si eres programador de Visual Basic 6 sin orden ni concierto, deberías empezar con C#, aunque a veces es un poco difícil, explicarlo a los equipos desarrollos, -muchachos aunque en .Net haya Vb.Net, van a usar C#. El tema es delicado, y puede generar descontento en el equipo desarrollo, si no se explica racionalmente lo que se quiere lograr. Y que de aquellos que no son programadores de algunos de esos lenguajes, y si programan en Perl, Pyton, Php, Power Builder, Pascal, u otros?, ¿Cuál recomendar?

Bajo la propuesta de con cada lenguaje (VB o C#), puedes hacer las mismas aplicaciones, y un programador .Net debe ser independiente del lenguaje, y en un programador de C# debe poder tomar cualquier oferta de empleo de Vb.Net, y un programador de Vb.Net, siempre y cuando no use Microsoft.VisualBasic, estaría apto para tomar una oferta de trabajo C#, vamos a lanzar otra idea que puede ayudar a determinar que lenguaje usar en un proyecto .Net. Ah, y también esta el escenario de que en un equipo de desarrollo tengo tres programadores que saben C#, cuatro programadores que saben Vb.Net, y dos saben Fox. Entonces, ¿Cuál lenguaje usar Vb.Net o C#?, ¿usar el lenguaje en el que tengo la mayor cantidad de programadores?

La propuesta, sin entrar en fanatismos, sería bajo las siguientes sentencias:

  1. Identificar que tipo de proyecto voy desarrollar. (un CRM Web por ejemplo)
  2. Queremos hacerlo desde cero, pero sería muy útil tener una aplicación Open Source que me de una guía, “y no re-inventar soluciones” que ellos ya resolvieron. O quiero tomar un proyecto Open Source y sobre ese, desarrollar una nueva versión.
  3. El lenguaje de la aplicación Web CRM Open Source (SplendidCRM), ¿está en VB.Net o en C#?. -Está en C#, entonces el lenguaje que deberíamos usar sería C#, aunque tenga el 80% de mi equipo en VB.Net, el lenguaje que más me conviene es C#. De lo contrario tendría que estar traduciendo trozos de código, si es que no estoy traduciendo todo el código de aplicación.

Conclusión

  • Si no esta claro que lenguaje (Vb.Net o C#) usar en un proyecto .Net, deberías buscar que aplicaciones Open Source o Frameworks de desarrollo, existen para el tipo de proyecto que vamos a desarrollar. Entonces no vamos a escoger un lenguaje porque tiene “;” o porque en uno tiene funciones adicionales (Len, Trim, etc) directamente sin usar clases. Es decir que la métrica para escoger un lenguaje, no debe ser la cantidad de programadores de un lenguaje determinado en un equipo de desarrollo, si no que tan productivo puede ser con un lenguaje u otro utilizando aplicaciones Open Source o Frameworks. Y claro, esto considerando que en un programador .Net debería ser independiente de que lenguaje usa, ya sea VB.Net o C#.

Entradas relacionadas:

Saludos,