[Opinión]Los Nuevos Programadores y VB o C#

Llevo relativamente poco tiempo en el mundo de la programación ya que mis orígenes, los verdaderos, serán del 2001 con C, aunque anteriormente ya había hecho cosas con Visual Basic 6.

Por si no lo he dicho nunca, o no me has leído decirlo me encanta programar.

Después de la primera introducción voy al hilo del post:

Aprender a programar: Me encanta que la gente se lance a aprender a programar y que tenga curiosidad por hacer sus propias aplicaciones, web, juegos, etcétera. Algo que es obvio es que nadie nace sabiendo, por lo que la mejor forma de aprender es a base de picar código, como cuando aprendimos a montar en bici que era a base de caerse.

Hoy en día, con Internet, es todo mucho más fácil, te conectas, abres tu buscador preferido y tecleas: “Código programa XXX para novato” y seguro que algún enlace te lleva a un foro como de la MSDN, o StackOverFlow…

¿Será que cada día nos estamos volviendo más vagos? La gente lo quiere ya todo mascado, es decir, no son capaces de investigar, de mirar la ayuda, de buscar un libro (Con los grandes libros de programación que existen), de buscar en Internet como se hace y no el código ya preparado para copiar y pegar. Muchas veces lo leo en los foros de MSDN, donde suelo colaborar de forma activa, y me cabree el poco hambre de aprender que tienen algunas personas.

La otra cuestión que está muy ligada al tema de los nuevos programadores es el lenguaje que adoptan si vienen a aprender con .NET.

Los dos grandes lenguajes del entorno de .NET son C# y VB.

Yo casi siempre he trabajado con VB y me encanta hacerlo, pero últimamente me estoy decantando en todos mis desarrollos por C# que me va ganando terreno.

Bien, a menudo, también, veo que mucha gente se decanta por aprender a trabajar con VB lo que me parece estupendo, ya que por internet es más fácil encontrar códigos de C#, pero también me digo: Mala Elección.

¿Por qué digo mala elección? Porque quizás trabajar con C# te fuerza a que intentes hacer las cosas bien desde el primer momento. Algunos ejemplos:

– VB permite conversiones sin indicar ninguna (Option Strict) C# no lo permite.

– VB permite manejar formularios de la misma manera que se hacia en VB6, es decir, sin instanciarlos.

Se que estos y muchos puntos que no escribo, son puntos que la gente debería conocer, pero cuando estás aprendiendo a programar, no te paras en esos detalles, quieres tirar líneas de código y que funcione.

Por eso, quizás si alguien me pidiera consejo para aprender un lenguaje de programación entre C# y VB le diría que aprenda C#. Porque además, el poder saltar luego a VB es un salto relativamente sencillo.

 

Saludos!!!

12 comentarios en “[Opinión]Los Nuevos Programadores y VB o C#”

  1. Yo, defendia el VB.NET (versiones anteriores al vs2008), alegando que si no era lo mismo, era similar al c# hasta que probe el c#… actualmente en el trabajo, uso el VB por requerimientos del proyecto (vamos, que fue iniciado como tal)… pero en casa con C# y excepto algunos malos vicios (como el with … end o escribir las variables, metodos etc.. como sea que automaticamente formateado), soporto el VB a duras penas… y si, creo que seria mejor opcion seguir con C#.. no solo por VS, si no por que luego para javascript, jQuery, Java etc.. te es mas facil realizar un cambio de “programacion”

  2. @LLuis evindentemente por desgracia no siempre se puede elegir, que te voy a decir que no tengas a diario, pero eso da para otro post.
    Totalmente de acuerdo en tu post son cosas que me encantan entre ellas el “Refactoring” 😀

    @X también de acuerdo en tu comentario que te abre las puertas a Javascript y Java. 😀

    Saludos!

  3. Estoy de acuerdo. Si quieres aprender a programar con .NET lo mejor es C#.

    Pero, si quieres aprender a programar, asi en general, lo mejor es que te pongas con C o C++.

    Conozco multitud de gente que aprendió con VB6, despues dio el salto a VB.NET y les he visto hacer verdaderas barrabasadas simplemente porque no saben manejar punteros. (Entre otras cosas… en fin corramos un tupido velo)

    No voy a entrar ahora a explicar la analogia con referencias a instancias y delegados (aparte del marshaling para pinvoke), seguro que en geeks.ms ya hay mas de un post sobre esto a lo que me refiero.

  4. Sobre la sintaxis VB.NET vs C# no voy a opinar mucho… Yo prefiero un millón de veces C#, pero todo es costumbre.

    @Crowley
    No tengo muy claro que para aprender a programar lo mejor sea empezar con C ó C++. Esos lenguajes son muy poco académicos, y además facilitan mucho el uso de malas prácticas.
    Si que es cierto que para desarrollar en ellos (especialmente C++) se requieren tener claros conceptos que TODO EL MUNDO debería tener claros, y que te hace “ver” muchas cosas, pero yo no los podría como primera opción, sino como segunda (es decir, aprende con C# y luego aprende C++).
    Otra cosa es que, por puros motivos históricos, muchos de nosotros hayamos hecho el camino al revés 😀

    Saludos!

  5. @Crowley
    Estoy con @Edu, mis inicios (joer, que lejos quedan… snif) fueron con C++, y si bien te da una base TREMENDA, no son demasiado ‘académicos’ como bien dice Edu.
    Si tuviese que elegir, me quedaba con C#, y una vez dominado bien, un master en C++ (aunque lo más probable es que no lo usase casi nunca en el día a día).
    Saludos!

  6. Hola a tod@s. Yo que soy un poco mas viejo, porque llevo programando desde el año 89, cuando acabe la mili. Creo recordar que por aquella epoca era el gwbasic o el turbo basic. Ademas trabaja en otro sistema operativo (THEOS) donde el desarrollo era un Basic propio. Los de aquella epoca, hemos sufrido mucho luego con visual basic (yo ya empece en la 4.0). Luego llego .Net con todas sus versiones. Si el futuro es C#, tendre que empezar, pero tambien vivi que el futuro era Unix, luego que Linux, etc… He oido tantas veces que el futuro es …. que si cada vez que esto ocurria, hubiera echo caso, ahora mismo ya no se en que programaria.

    Saludos

  7. Lo primero gracias a todos por comentar.

    Como bien ha dicho Eduard y Lluis, hoy en día yo creo que es preferible comenzar con C# antes que con c++, pero no quita que c++ te de una base cojonuda.

    @Jose Manuel, yo no digo que sea el futuro, lo que digo es que con C# te obligas de cierta forma a abrirte otras miras porque Java y c# son muy parecidos…

  8. Hola Javier. Creo que tienes razón, igual no me he explicado bien. La gente que empieza si que deberia plantearse un lenguaje “compatible/similar” con otros, como C#, Java, …, pero los más veteranos que tenemos claro hasta donde vamos a llegar en nuestros desarrollos es más dificil. Hasta ahora no he tenido que hacer nada que no pueda hacer con VB.Net. Si que a la gente de mi departamento, que empiezan ahora, hacen cursos en Vb.Net y C#, pero más por ellos que por la empresa. Hoy por hoy, todo el desarrollo es VB en sus distintas versiones según la fecha del proyecto.

    Saludos nuevamente a tod@s.

  9. Si hoy en día con VB.NET puedes abordar todo lo que se puede hacer con C# pero te recomiendo que te pases por el enlace que ha publicado Lluis, porque algunas cosas se hacen más cómodas de ver, leer y hacer con c#.

    Hombre me imagino que si tienes bastante experiencia en el mundo de VB, no tendrías que tener mucho problema a la hora de pasarte a C#, porque en el fondo son iguales, lo unico que cambia es la estructuración y la definición de algunas cosas.

  10. Hola, ya que José Manuel echa la mirada atrás…. En el 86 para calcular el IVA (que chorrada ¿verdad?), empecé a trabajar en Oasis predecesor de Theos, pronto llegó la multitarea y multiproceso mediante semáforos, la evolución natural del Theos-Basic pasó por VB 3.0 (llegaron las ventanas versión 3.1), luego la 4,5,6 y posteriormente .Net fue entonces cuando gracias a un amigo empecé con C#, la verdad, añoro la libertad del VB, pero he de reconocer que mis proyectos en C# son mas mantenibles, ampliables, compatibles, rehusables y muchos más ‘bles’, sinceramente no me arrepiento por pasarme al C# y animo desde aquí a los primerizos a que se inicien en el.
    Saludos
    Emilio Hernández

  11. Yo empecé con C++ corriendo en la consola, con un compilador de línea de comandos (el que ofrece gratuitamente la Broland) para aprender la parte de algoritmia, punteros, funciones, etc. Luego de aprender esta base se puede dar el salto a cualquier otro lenguaje y hundirse en las sutilezas de cada uno.

    Personalmente, prefiero de lejos el C# 😀

Deja un comentario

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