Vie
17
Ago

Usando C# : algunas ventajas sobre Visual Basic .NET en Visual Studio


En el trabajo empecé un proyecto nuevo. Como tantos, estoy limitado a programar en .Net, y para Windows. Como vengo estudiando Java, y C++, pregunté si habría algún problema en programar la aplicación en C#, ya que la sintaxis es más “de verdad” que la de VB.Net. Como se trabaja con el framework .Net, no hay diferencia en el resultado final (por lo menos eso he leído).

Acá dejo algunas de las ventajas que por ahora he encontrado en Visual Studio usando C#.

Snippets automáticos
Por alguna razón, me resulta mucho más cómodo trabajar con snippets en C#. El ejemplo más común es el manejo de excepciones. En VB, uno escribe “Try”, y el programa automáticamente completa el bloque “catch”. En C#, se puede elegir si usar el snippet del sistema, y si lo hacemos, nos pone el cursor dentro de la declaración del catch para decirle qué hacer con la excepción (qué excepción vamos a manejar, cómo se va a llamar). El tema de los snippets de código da para otro post entero, si son bien usados, pueden agilizar mucho el desarrollo.

Refactoring
En VB, la única opción de refactoreo que veo es “renombrar” una variable o método. En C#, hay un menú entero de refactoreo, con renombrar, extraer método, encapsular, interfase, etc. Sé que se pueden bajar plugins para hacer ésto en VB, pero en C# ya viene integrado.

Menú Eventos en los forms
Cuando diseñamos GUI´s, C# trae ventajas con el manejo de eventos. En Vb. net, si quisiéramos progamar el evento de hacer clic sobre un botón por ejemplo, la forma más rápida es hacer doble clic sobre el botón, y nos lleva a código, con el evento:

Private Sub Button1_Click(ByVal sender As System.Object,
     ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("Apretaste el botón")
End Sub

En c#, los controles tienen un nuevo menú en las propiedades, que controla cada posible evento del contol. Haciendo doble clic en cualquiera de ellos, nos lleva a código, y nos escribe el evento. Queda entonces por ejemplo:

private void Button1_Click(object sender, EventArgs e){
     MessageBox.Show("Apretaste el botón");
}

Pero en este mismo menú, vemos todos los eventos posibles, a diferencia de Visual, que tenemos que buscar en dos combobox dentro de la edición de código el control en el primero, y el evento en el segundo.

Sintaxis C++ y Java
Por último, la ventaja más importante seguramente es la sintaxis. Obviamente Microsoft pensó en atraer programadores de otras plataformas al momento de engendrar .Net. Java es uno de sus competidores más fuertes. Por lo tanto, para C# crearon un lenguaje que pudiera ser entendido por programadores de C, C++ y Java. Y en el otro sentido, si uno se acostumbra a programar en C#, se acostumbra a usar la sintaxis de los otros. Además líneas de código comunes como los if, for, try, etc. son iguales. Sin embargo, programar en .Net es altamente limitante y poco recomendable.

Mono
Como bien observó “MetalAgent” en los comentarios, C# también puede ser implementado con Mono. En mi experiencia personal, pude compilar una mini-aplicación de consola en GNU-Linux con Mono, y ejecutarlo en Windows después.
Si bien MonoDevelop es un IDE bastante precario todavía, tiene empresas grandes por atrás.

Conclusión
Por el momento no he encontrado nada que no pueda hacer en C# y sí en Visual Basic. ¿Supuestamente ésto también se cumple a la inversa?
Lo remarco porque los lenguajes C´s y Java son relativamente nuevos para mí, ya que todo el año pasado en mi curso usé Visual Basic.net.
Al final, mientras se esté usando el framework de Microsoft, creo que es cuestión de gustos, porque más o menos se debe poder lograr lo mismo.
En mi opinión, dentro de .net, prefiero C#, y estoy bastante más cómodo usándolo. Aunque detesto .Net y prefiero programar en cualquier otra cosa.


Si te gustó éste post, podés apoyar a PicandoCódigo a través de PayPal!



8 Comentarios para “Usando C# : algunas ventajas sobre Visual Basic .NET en Visual Studio”

  1. MetalAgent



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)

    No entiendo muy bien algunos puntos de tu artículo, creo que cuando hablas de C# sólo te centras en M$ cuando también puedes usarlo con Mono.

    Lo que comentas de los “Snippets automáticos” (yo siempre lo he visto como marcos) es algo que pueden hacer todos los editores de código, yo suelo usar emacs, pero hay cientos, te dan muchisima más potencia y velocidad que los de M$.

    Visual Basic es un lenguaje para usuarios finales, para gente que quiere programar con una mano en el bolsillo y la otra en el ratón. No me parece correcto compararlo con Java o C# o cualquier cualquier otro lenguaje serio (como brainfuck o moo XD)

  2. fernando



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

    MetalAgent:
    Gracias por tu comentario. Te paso a responder.
    Sí me centré en M$, aunque lo que decís es muy cierto con respecto a Mono. Voy a agregarlo en las ventajas.
    El artículo viene a que en mi curso, todo el primer año te dan con VB.Net y ni te enteras de la existencia o sintaxis de los otros.
    Es obvio que Visual Basic no tiene nada que ver con lenguajes más “serios” como son Java, los C´s y demás.
    En mi trabajo también venía usando VB desde el principio, y recién ahora empecé a dar los primeros pasos con C#.
    Por eso, lo escrito en el artículo son apreciaciones personales de empezar a usar otro lenguaje, y las ventajas simples que aparecen de principio, mas allá del resultado final y la diferencia abismal de lo que son los lenguajes en sí.
    Simplemente apreciaciones, de alguien que viene empezando.
    Lo de los snippets, sé que existe en casi todos los editores. Particularmente en Visual Studio, me parece que está mejor manejado del lado de C# que usando VB.Net, simplemente eso.
    Por último, gracias por visitar la página y dejar tu opinión.
    Saludos

    Fernando

  3. Jesus



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8

    Amigos les comento, no existe diferencia entre lo que se puede hacer con C# o VB. Personalmente me gusta VB, pero programo an ambos indistintamente.
    En relacion al articulo de Fernando, en el topico ” Menú Eventos en los forms” para VB tambien dispones de los eventos que tiene el objeto en las propiedades del objeto, especificamente hay un icono de un “rayo” donde te muestra todos los eventos del objeto seleccionado (ojo VS 2005).
    en relacion al refactoring es cierto que solo aparecen muchos metodos solo para C#, pero imagino que se debe a que las clases que maneja .NET todas estan hechas en C#. Pero para compensar esto hay herramientas free y pagas que ayudana alos programadores de VB.

    En fin todo lo que hago en C# lo puedo hacer en Vb, la diferencia radica es en la facilidad de como se hace, y esto se debe a la implementacion del Lenguaje usado .

    Saludos!!!

  4. fernando



    Mozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.8.1.6) Gecko/20070723 Iceweasel/2.0.0.6 (Debian-2.0.0.6-0etch1)

    Jesus:
    Gracias por tu comentario. Ahora que he estado usando los dos lenguajes por un tiempo en el trabajo, puedo decir que realmente no hay diferencias entre usar uno y otro en el resultado final. Y hace poco recién descubrí el rayito de los eventos para los forms en Visual Basic! Es igual que en C#.
    Sin embargo el refactoring sigue siendo un poco mejor con C#.

    Como conclusión, según la sintaxis que uno prefiera, es lo mismo usar uno que otro. Yo me quedo con C# entre éstos dos…
    Saludos

  5. milena



    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; uE v7; MEGAUPLOAD 2.0; .NET CLR 2.0.50727; uE v7)

    hola si alguien me puede decir donde descargar el programa visual basic studio 0.6 por favor

  6. Dark Musician



    Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.30 Safari/525.13

    Public Static Void ComentarEnPagina()
    {
    System.Console.Write(”Buenas noches, me parece muy interesante tu página y también muy interesante tu post; precisamente a mí tambén me está pasando lo mismo, en el lugar donde estudio nos han levantado todo el tiempo a VB, y ahora por mi cuenta estoy aprendiendo C# con un manualillo que me bajé de Wikilibros je je, suerte con tu nuevo lenguaje, que a mí también me está gustando mucho.”)
    }

    Je je, ahí se ven…

  7. fernando



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092816 Iceweasel/3.0.3 (Debian-3.0.3-2)

    Dark Musician:
    Por experiencia, te recomiendo que ignores C#,y te pongas a aprender algo que te vaya a servir más: Java, Python, C, C++, PHP, Ruby, etc.

    .Net es un framework muy limitado y segun mi opinión, con poco futuro. Muchas otras tecnologías te van a servir más en tu formación profesional.

    Saludos

  8. Marvin



    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)

    A mi me gustan ambos…

Dejar un comentario

Si quieres mostrar código, enciérralo entre los tags pre de esta forma:
<pre lang="L"> y </pre>, donde L es un lenguaje compatible GeSHI. Más info.

XHTML: Las siguientes tags están permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">


Al agregar un comentario en esta página, usted acepta la siguiente licencia para su publicación:
Creative Commons License Creative Commons Attribution-Share Alike 3.0 Unported License.