C# o VB.NET ¿qué lenguaje debo aprender?
Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

C# o VB.NET ¿qué lenguaje debo aprender?

Cuando alguien se quiere iniciar en la programación y se decide por la plataforma .NET, enseguida le surge la duda: ¿qué lenguaje debo escoger? Y es que la plataforma .NET permite programar en decenas de lenguajes diferentes, si bien los dos principales, de entre los que proporciona Microsoft son Visual Basic .NET y C# (se pronuncia "C Sharp", por cierto).

Vamos a analizar diversos factores de peso, detallando un ganador en cada uno, que espero que te ayuden a tomar una decisión fundamentada. Aunque yo, personalmente, hace unos años que lo tengo claro...

Balanza-CSharp-VB_NET

¡Allá vamos!

1.- Capacidades de los lenguajes

Evidentemente si vamos a invertir muchas horas y esfuerzo personal en aprender un lenguaje, no querremos apostar por uno que tenga características inferiores. Nos interesará aprender aquél que tenga mayor potencia y permita hacer más cosas.

En ese sentido la buena noticia es que ambos lenguajes tienen idénticas capacidades.

eBook gratis:  Con este post + 19 consejos imprescindibles para desarrolladores de C# y .NET

En primer lugar, porque lo que hacemos con ellos es programar para la plataforma .NET y la mayor parte de la funcionalidad se proporciona a través del framework. Los lenguajes no son más que una forma de "pegar" entre sí la funcionalidad de base que extraemos de .NET, ya que todas las bibliotecas y capacidades de la plataforma están al alcance de cualquier lenguaje válido para ésta.

Al final, ambos se compilan a Lenguaje Intermedio (CIL) de .NET, e incluso es posible traducir el código de uno a otro y viceversa. De hecho uno de los objetivos de Microsoft es que sean totalmente equivalentes y que lo que se pueda hacer con uno, se pueda hacer también con el otro. Es más, la última versión de los compiladores para la plataforma .NET (llamado Roslyn) tiene el compilador de VB escrito en VB y el de C# escrito en C#, de modo que ambos sean funcionalmente equivalentes.

Aún así existen diferencias en la sintaxis de cada lenguaje que hacen que sea más o menos difícil trabajar con ellos. En general el código Visual Basic es más fácil de leer al no usar llaves (tan típicas de otros lenguajes), aunque esto seguro que más de uno me lo discute. Además ofrece "azúcar sintáctico" para ayudarnos con la escritura de código, como por ejemplo, entre otras muchas cosas:

Y estos son solo unos pocos ejemplos. Hay más.

Por otro lado hay algunas cosas de C# que no están disponibles en Visual Basic, como por ejemplo:

  • Bloques unsafe: que nos permiten trabajar a más bajo nivel con punteros, de manera parecida a como se hace en C++, y saltarnos la seguridad de tipos.
  • palabras clave checked y uncheked: para saltarse la seguridad de tipos en desbordamiento.
  • Interfaces parciales: C# permite definir interfaces en diversos archivos, al igual que clases, estructuras y métodos. VB solo estos tres últimos.
  • Azúcar sintáctico: y sí, C# también tiene sus propias facilidades para escribir código que no tiene VB, como por ejemplo: cadenas multi-línea y escapeadas, comentarios multi-línea, implementación implícita de interfaces o el operador ?? para comprobar nulos.

En este enlace tienes una buena referencia que compara una a una las características de ambos lenguajes (y alguno más como F# y C++).

Podríamos seguir hablando de este tema largo y tendido, pero como resumen podemos decir que, en general, escribir código con VB.NET es más fácil y además más permisivo (menos estricto) que escribir código C#. Y todo eso sin perder potencia ya que son funcionalmente equivalentes. En ese sentido es más fácil iniciarse a la programación en Visual Basic que en C#.

Aún así, una vez que coges experiencia en cualquiera de los dos, elegir uno u otro es más una cuestión "estética" y de preferencias personales que una diferencia real.

Ganador: Visual Basic, por simplicidad de uso.

2.- Aspectos "sociales"

Uno de los aspectos más importantes a tener en cuenta a la hora de decidirse por un lenguaje de programación, no es solamente su capacidad o facilidad de uso, sino lo que yo llamo sus "aspectos sociales". Con esto me refiero a la adopción que hay por parte de la comunidad de uno u otro lenguaje. Esto es importante porque mide el grado de ayuda que nos vamos a encontrar para cada lenguaje, así como la base de código Open Source con la que podemos contar para acometer algunos proyectos.

Los "aspectos sociales" de un lenguaje miden, en definitiva, lo solos o acompañados que estamos cuando trabajamos y nos encontramos con un problema o una dificultad.

Por un lado tenemos el uso que se le da a cada lenguaje por parte de los profesionales. No es lo mismo llegar a una empresa programando en VB y encontrarte que todos tus compañeros programan en C#, que lo contrario. Eso es difícil de estimar y va a depender de dónde caigas, claro, pero si tuviésemos unas estadísticas generales podría ser un dato importante. Sobre esto no hay datos fiables. Sin embargo, una cosa a tener en cuenta es que en la mayor parte de los institutos y las facultades de informática se enseña o bien C++ o bien Java. Debido a ello muchas personas se sienten más cómodas usando la sintaxis de C#, casi idéntica en todo a la de estos, y luego en el trabajo tienden a utilizar C# y no Visual Basic. Pero como digo, es difícil saberlo.

Una buena pista nos la pueden dar los índices de la industria, que también son inexactos pero proporcionan información interesante que marca tendencias. Uno de los índices más populares, que se actualiza mensualmente, es el de TIOBE de popularidad de lenguajes de programación, que se basa en analizar resultados de búsquedas en más de 110 buscadores en todo el mundo, tratando de determinar qué lenguajes son más populares entre los desarrolladores en función de lo que se publica sobre ellos. En Febrero de 2015 C# ocupaba el 5º puesto con un 5,738% de popularidad, mientras que Visual Basic .NET estaba en el 10º puesto con un 2,026%. Es decir, aparentemente C# es el triple de popular que VB.NET hoy en día. Hace 5 años la cosa no era así e iban prácticamente parejos, pero está claro que en los últimos tiempos la ascensión de C# (o el declive de VB) en cuanto a preferencias de los programadores es imparable. Es más, de esto no tengo números, pero es evidente que hay muchos más blogs y artículos para C# que para VB.

La gracia, por cierto, es que Visual Basic,. es decir la versión original de lenguaje, cuya última versión es de hace más de 15 años, está justo detrás en el undécimo puesto con un 1,718% de popularidad ¡e incluso ha subido respecto a hace un año! Que cada uno saque sus propias conclusiones respecto a este hecho.

Indice-TIOBE-Feb-2015

Según otros índices los resultados son incluso peores para Visual Basic. Por ejemplo, el índice PYPL que se basa en la disponibilidad de cursos y tutoriales disponibles para cada lenguaje (un indicador de demanda), C# es el 4º lenguaje más popular con un 8,8%, y VB.NET está en decimotercer lugar con un 2.2% y cayendo bastante.

eBook gratis: Con este post + 19 consejos imprescindibles para desarrolladores de C# y .NET

Indice-PYPL-mar-2015

Si consideramos la popularidad dentro de los proyectos Open Source, entonces GitHub es un buen sitio donde mirar, ya que actualmente es donde se "cuece" todo lo que tiene que ver con este movimiento de software libre. Según los datos de GitHub el lenguaje más popular con mucha diferencia es JavaScript, pero de los dos que nos ocupan, el único que aparece siquiera en los rankings es C# (en 10º lugar).

Github-num-repositorios-marzo-2015

Si consideramos un repositorio de código fuente con más sesgo hacia tecnologías Microsoft, entonces debemos referirnos a Codeplex. En este repositorio de código fuente de tecnología Microsoft, si buscamos a día de hoy los proyectos Open Source más descargados (que son los que realmente tienen algo detrás y no están en planificación o vacíos), vemos que C# tiene 3.154 proyectos mientras que Visual Basic tan solo 319. O sea, gana C# por goleada:

CodePlex-Mas-Descargados-Tags

Finalmente, y para tratar de ser exhaustivos, vamos a ver qué pasa con StackOverflow. Este es el sitio más popular del mundo para resolver dudas sobre cualquier cuestión relacionada con la programación. Es tan popular que hay quien dice, con muy mala uva, que si mañana lo cerraran media fuerza laboral del sector TIC se iría al paro pues no sabrían qué hacer ;-) Bien, si vemos en este sitio el número de preguntas que se hacen en cada lenguaje, tenemos los siguientes resultados:

StackOverflow-CSharp-vs-VB

Es decir, la diferencia es de casi 10 a 1 a favor de C#.

Ganador: C# por goleada. Con C# tendremos muchas más probabilidad de ayuda, código fuente de base, aprendizaje, etc...

3.- Ámbitos que abarcan

Esta es otra gran pregunta que debemos hacernos. No solo llega con ver cuál tiene más capacidad o con cuál tenemos más ayuda. Tenemos que ver también con cuál podremos hacer más cosas y seremos capaces de abarcar más ámbitos.

En la actualidad la plataforma .NET está presente en el escritorio, en los servidores, en la nube, en dispositivos móviles, etc... Pero no significa que podamos usar cualquier lenguaje. En este caso solo C# nos deja abarcar cualquier ámbito en el que esté presente .NET, y en concreto el mundo móvil está vedado para Visual Basic .NET.

Sí, podemos programar para Windows Phone con C# y con VB.NET, pero si queremos abarcar cualquier plataforma móvil (iOs, Android...) o tablet usando .NET, es decir, usando Xamarin, entonces el lenguaje que debemos usar obligatoriamente es C#. Y éste es un punto importantísimo que no debemos olvidar. Aunque ahora no programes para móviles ten claro que si te dedicas profesionalmente a esto, más temprano que tarde lo vas a tener que hacer. Y si para ello puedes evitar aprender un nuevo lenguaje, mejor ¿no?.

Debemos tener en cuenta también que, desde hace unos años, prácticamente todas las nuevas tecnologías que va lanzando Microsoft se crean con C#. A esto debemos añadir que además ahora son Open Source, lo cual es un argumento de peso, y si no, echa un vistazo a su código fuente:

Ganador: C#. Podrás hacer muchas más cosas a largo plazo.

4.- Otros factores

Finalmente hay que considerar otros factores, quizá menos importantes, pero que debemos tener en cuenta igualmente a la hora de decidirnos.

Por ejemplo, de qué base partes para aprender.

Si vienes de programar con Visual Basic 6 clásico, en los '90 (hay MUCHÍSIMA gente que viene de ahí y se está pasando aún ahora), seguro que la sintaxis de VB.NET te va a resultar más sencilla y rápida de asimilar. De hecho el lenguaje se diseñó para que fuera compatible lo máximo posible con VB clásico. Sin embargo, hay bastantes diferencias. Aunque la mayoría son cosas tontas (por ejemplo en VB.NET debes poner paréntesis para llamar a todas las funciones y en VB clásico no) pueden suponerte un problema más que una ventaja. Si tienes que mantener código en las dos versiones del lenguaje (clásica y moderna) te encontrarás que cometes muchos más errores por estas pequeñas cosas, lo cual es desesperante. Al final casi te resultará más sencillo marcar mucho más la diferencia entre los dos ambientes usando C# para .NET. Al principio te resultará más complicado, pero cuando te acostumbres cambiarás fácilmente de contexto, irás mucho más rápido y tendrás mayor productividad. Y no lo digo por decir: en su día, hace muchos años, yo mismo pasé por esta situación, así que lo digo por experiencia propia ;-)

Si vienes de programar con C, C++, Java o similar, la sintaxis de C# te resultará mucho más natural y cómoda. Aunque claro, también te puede pasar algo parecido a lo de VB clásico con VB.NET, aunque aquí las diferencias de sintaxis son mucho menores. De hecho, hay fragmentos sencillos de código que si te los ponen delante no sabrías decir si son C# o Java, de tan parecidos que son.

Otra cuestión importantísima es la percepción del lenguaje en el mercado laboral. Se dice que no hay que juzgar un libro por las tapas y que no debes dejarte llevar por la corriente o las modas. Pero al final lo hace todo el mundo. Y si no, por qué cualquier cosa que lance Apple al mercado se vende como si no hubiese un mañana, independientemente de su calidad o bondad técnica. Pues por eso, por el factor "cool" de la marca.

En programación pasa exactamente lo mismo. Hay mucha "pijería". Aunque nos cueste reconocerlo, es la realidad. Y una cosa obvia es que C# hoy por hoy tiene un factor "cool" que no posee Visual Basic .NET. C# se relaciona con lo moderno y VB.NET con un lenguaje de los años 90 que se ha adaptado para la actualidad. En tu currículo va a lucir más C# que Visual Basic. Da igual que VB.NET sea igualmente capaz que C# y que de hecho sea más fácil de leer y de escribir. Puede que no tenga sentido técnico alguno, pero es un hecho.

Obviamente no lo puedo demostrar con datos fehacientes ya que es una cuestión cualitativa, no cuantitativa. Pero si no me crees puedes hacer la prueba y preguntar por ahí o mandar CV iguales con VB y con C# a ver qué pasa ;-)

Ganador: C#

eBook gratis: Con este post + 19 consejos imprescindibles para desarrolladores de C# y .NET

Conclusiones  - TL;DR

Seguro que más de un fan de Visual Basic ahora mismo está contando hasta 10 antes de escribir un comentario en total descuerdo con muchas cosas de las que digo. ¡Hey!, yo mismo fui programador de Visual Basic muchos años y me ha dado muchas alegrías. Pero los hechos son los que son:

  • Ambos lenguajes son igual de capaces, y de hecho VB.NET es más fácil de leer y puede ser más productivo.
  • Pero C# gana con mucha diferencia a Visual Basic .NET en los aspectos sociales del lenguaje (más código y ayuda disponibles)
  • C# abarca más ámbitos que VB.NET, sobre todo en lo que respecta a programación multi-plataforma para móviles y tabletas.
  • Es más fácil confundirse escribiendo código Visual Basic que C# si vienes de otro lenguaje.
  • El factor "cool" está a favor de C#, por lo que te resultará más fácil encontrar trabajo o que te consideren en las empresas (y en ciertos círculos técnicos).

Creo que todos los puntos anteriores que desarrollo en el artículo son bastante objetivos, o al menos así lo he procurado, y creo que hoy por hoy aprender C# es una mucho mejor apuesta de futuro que aprender Visual Basic .NET.

Si estás pensando en aprender .NET y tenías duda sobre qué lenguaje escoger, espero que este artículo te haya ayudado a decidirte.

¡Ah!, y por supuesto no te olvides de nuestro maravilloso curso de aprendizaje de C# y la plataforma .NET. Aprenderás un montón. De verdad.

José Manuel Alarcón Director de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón

No te pierdas ningún post

Únete gratis a nuestro canal en Telegram y te avisaremos en el momento en el que publiquemos uno nuevo.

Archivado en: Lenguajes y plataformas

Comentarios (39) -

bueno ya el debate se termina, ya microsoft anuncio que con visual basic no se podrán desarrollar proyectos para su próxima versión asp.net 5 mvc 6, o sea que ya vemos por donde van los tiros, para el buen entendedor no hacen falta muchas palabras

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Hola:

Sí, es uno de los motivos que apunto en el post: que las nuevas tecnologías que va lanzando Microsoft se crean con C#. De todos modos no creo que VB vaya a desaparecer por eso. Es más, en las primeras versiones de MVC tampoco se soportaba y luego se soportó igualmente.

Gracias por el comentario.

Saludos.

Responder

Hola pude leer completamente tu articulo. es super interesante el nivel tecnico que conces. bueno yo fui programdor de pascal , cobol , CLIPPER , Luego en COCA-COLA trabaje en RPG/400 , ahora son independiente en EEUU y trabajo con lenguaje VB.NET escritorio y sabes que gracias a ti, tome la decision de usar C# apartir de este momento ademas de comentario que MVC 5 no aceptara vb.net en su codigo. Me convencio ademas C# es similar a JAVA que si hecho algo basico.

Mas que nada quiero felicitarte por tu articulo muchas gracias
Ramon G

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Hola Ramón:

Gracias, me alegro de que te guste y te haya servido.

Solo un comentario adicional: muy recientemente el equipo de ASP.NET ha revelado que va a soportar finalmente Visual Basic en ASP.NET 5 también:

www.variablenotfound.com/.../...o-en-aspnet-5.html

Aún así yo lo cogería con pinzas vistos los antecedentes. Me perece una apuesta arriesgada usarlo después de lo que han dicho y hecho últimamente.

Actualizaré el artículo para reflejar este hecho.

Saludos.

Responder

Daniel Flórez
Daniel Flórez

Totalmente de acuerdo.  Acabo de tomar la decisión de enfocarme directamente a C#.  Has dado razones de sobra para ayudarme a tomar aquella decisión.  He comprado un libro de ASP.NET pero inicialmente me dice que me inicie en VB.NET.  Lo malo es que ahora me tendré que comprar otro libro.  Saludos!.  y muchas gracias. me ayudaste un resto.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Daniel:

No abandones el libro si estás contento con él solo por el lenguaje. En el fondo en la mayor parte de los casos son equivalentes, como comento en el artículo, y usar uno u otro lenguaje es una cuestión estética. Quiero decir que para aprender te valdrá igual, y luego ya lo vas aplicando tú todo con C#.

Saludos.

Responder

En cuanto a capacidad y productividad no puedo comentar nada pues soy un simple principiante. Ahora en los aspectos social y "cool" los datos que aportas son incontestables y la primera impresión que tengo, al introducirme en programación, lo  confirman.
Gracias por tu artículo, me ha parecido muy bueno.

Responder

José Alberto Luque
Mexico José Alberto Luque

Hola:

Acabo de leer tu post y es verdaderamente interesante. En mi caso, me convenció aún más de seguir con C#. Tengo unos comentarios y me gustaría saber que opinas o bien, que me des tus recomendaciones como experto. Hace tiempo me dediqué a la programación de aplicaciones para escritorio y utilizaba C# + MySQL cpon MySQL Connector, luego tuve la oportunidad de incursionar en algunas empresas como Heineken MX en el tema de la consultoría de negocios e IT, sin embargo, hoy en día he pensado seriamente en abrir mi propia empresa de consultoría  y desarrollo. Me quedan claras las tendencias de lenguajes, sin embargo, me gustaría que me dieras tu opinión en relación a cuáles serían las técnicas más conveniente (eficientes) de programación: Estructurado, Objetos, Eventos.
De antemano agradezco tu apoyo.
Saludos.

Responder

Fabio Adolfo Clavijo
Colombia Fabio Adolfo Clavijo

He leído el articulo completamente, cuando empece profesionalmente a trabajar empece con VB 6.0  ,  cuando la empresa empezó a migrar a .net con c# lo aprendi porque me tocaba,  en la actualidad me sorprende que algunas empresas empiecen un proyecto nuevo con vb.net  , y también me sorprende que algunos profesionales se nieguen a trabajar con C# .net.   personalmente trabajo en el lenguaje que me toque,  escribo en los dos sin problema, pero prefiero mil veces la sintaxis y el estilo C#

saludos..

Responder

Luis Angel Espinosa Vega
Mexico Luis Angel Espinosa Vega

Muy buen articulo, estoy estudiando ingeniería en informática y la verdad quiero enfocarme en un lenguaje de programación y estoy investigando sobre c# ya que con este puedo usar unity (mi pasión son los videojuegos).
En fin si me puedes recomendar material para aprender desde cero hasta un nivel avanzado te lo agradecería mucho.

Responder

Hola Luis Ángel, en primer lugar te agradecemos tu comentario.

Si quieres aprender el lenguaje C# desde cero está en el sitio adecuado ;D. Echa un vistazo a este curso /catalogo/Product-Desarrollo-con-C-y-la-Plataforma-.NET_204.aspx así como a nuestra página de descuentos, pues siendo estudiante tienes un 30% en cursos con tutor (a excepción del Master)

Si quieres más información sobre el curso, no dudes en escribirnos.

Recibe un cordial saludo,

>>>>El equipo de campusMVP

Responder

Cristóbal Sánchez-Maroto
Spain Cristóbal Sánchez-Maroto

Excelente artículo!

Yo estuve desarrollando VB6 durante bastante tiempo y al meter la patita en el mundo .NET me decanté por VB.NET ya que el paso era más inmediato. Hice algo en C# en un trabajo puntual pero seguí fiel a VB.NET y hasta hoy lo sigo siendo.

Tanto el mercado laboral como los avances parece ser que nos llevan más hacia C#. Estoy totalmente de acuerdo con la afirmación de que la mayoría de gente asocia VB.NET a lo antiguo y el C# a lo 'cool' y es una lástima.

Ahora también quiero empezar a desarrollar en C# precisamente para ampliar mi currículum y abrirme más frentes a la hora de buscar un posible trabajo.

Un saludo a todos y gran trabajo!

Responder

Programador
Peru Programador


Si C# tiene mas adeptos es por toda la propaganda que le hacen y si VB .Net tiene menos adeptos es por todo lo mal que hablan. Pero que en sí no so argumentos técnicos válidos:

- factor cool
- parece un lenguaje antiguo
- factor social

que están hablando, mas parece un Lobby en el mundo de la informática.

Dejen tranquilo a VISUAL BASIC .Net que da de comer a muchas familias en el mundo.
Nosotros los programadores de VISUAL BASIC .NET respetamos a otros lenguajes y esperamos lo mismo de ellos.

"NO OLVIDEN QUE EL EXITO ESTA EN LAS COSAS SIMPLES DE LA VIDA"

Responder

Buena información encontre hoy, no se NADA de programación pero necesitaba leer algo para saber por donde empezar
y creo que tomare C#
Hay Demasiado en la RED que no se por donde empezar, por lo tanto me quedare con las estadísticas de c#

Saludos Cordiales,

Oliver

Responder

Hola hombre,

Me gusto mucho tu estudio comparativo. Tienes razon en cuanto el nivel social muy elevado de C#  y eso me fastidia porque yo soy un fiel fan de vb.net. Es que es muy dificil de encontrar un tutorial o un codigo fuente hecho en vbnet, incluso los mvp de microsoft todos te hacen videos en C#. Me da muchas lastimas, porque yo antes solo sabia el lenguaje c++. Cuando descubri al vbnet por via de un empleo de 6 meses, me enamore de ese lenguaje tan sencillo y que te hacen las cosas mil veces facil que otros lenguajes. Ahora, por culpa de preferencias cool de las gentes, o mas bien de los programadores .NET nostalgicos de java,  me veo forzado a dejar vbnet y aprender C#, sino estoy jodido para un empleo.

Responder

hola, interesante comparación, pero a pesar de eso, la metodología y la forma de desarrollo de cada lenguaje varia de acuerdo a la eficiencia del programador, que conforme fue pasando el tiempo reforzaba sus conocimientos con dedicación, sacrificio y mucha pasión, hasta que por circunstancias de la vida y cuestiones de adaptación tuvo que migrar a otro lenguaje, pero sin embargo básicamente toda su metodología  fue implementada para aprender éste, y a pesar de ello nunca desvaloró ni trató de desprestigiar por simple antigüedad al que sirvió como base. Que pensarían los programadores veteranos de microsoft de esta opinión , obviamente indignados, porque encontrarían una carente del sentido de  esfuerzo que resultó para ellos, no se debe por simple aceptación social de las nuevas generaciones tratar de destronar un lenguaje de programación que formó a grandes programadores en el Mundo.

Responder

muy buena respuesta

Responder

Luis Diamon
Bolivarian Republic of Venezuela Luis Diamon

Excelente post!

Responder

bladimir silva
bladimir silva

Bueno para los que quieran aprender Y no conocen ningun lenguaje de programacion sin duda es mas facil sin duda vb.net por la sencillez de su sintaxis.

Los amantes a C o Java Y ya sepan programar es mucho mas facil aprender C#.

Personalmente vengo de programa en turbo c, c++, foxpro y vb y pues se me da lo mismo programar con C# o VB.net, pero para un desarrollo rapido prefiero mil veces VB.net es muy facil de enteder.

Responder

celestino
celestino

saludos mi estimado, pues sera que ya uso a diario el C# y se ma hace mas facil implementar en csharp que vb net que hasta en un caso difícil para poder extraer datos de un BD rara (No voy a decir nombres por que seria publicidad, no lo creen), mejor hize un miniconsultas para atacar esta base y de ahí obtuve una aplicación que me pidieron.

Responder

Yo también soy fan del VB.net. En contra de C# diría, a parte de lo que has dicho:

- no puedes hacer redim de arrays
- los punto y coma y los break son dos finalizadores de bloque que podrían no existir, y si se te olvidan te la lían gorda. Sólo hace equivocarte más.
- el que sea case sensitive más de lo mismo. Variables escritas iguales, pero que se te escapa una mayúscula ya no es lo mismo...

Hoy en día es más útil C#, por todo lo que se mueve en la red y en el mundo laboral, pero VB.NET me gusta más por simplicidad.

Por cierto, para tus estadísticas, en los proyectos por los que he pasado he estado 1,8 años programando en VB. Luego dos proyectos en C# con una duración de 0,5 años, y luego otros muchos en un mismo cliente durante casi 5 años en el que se hacía en vb.net. Total, 0,5 meses vs 6,5 años en vb.net.

Responder

Muchas gracias, por escribir este artículo. Era justo lo que necesitaba. Esas páginas de estadística revelan claramente la posicion de los lenguajes. No buscaré más información a respecto. Este tiempo lo aprovecharé para estudiar C# familiarizandome cada vez mas con su sintaxis hasta tratar de dominarlo como un día lo hize con VBA. Agradezco sus aportes y consejos en mi correo electrónico, sobre sitios web, tutoriales y material de ejemplo que me quieras recomendar para un aprendizaje guiado y ágil.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Faiver:

Me alegro de que te haya servido. Si te descargas nuestro PDF de más de 70 páginas con consejos para programadores C# tendrás acceso a más información. Y anótate a nuestro boletín para recibir todos los meses, una vez al mes, consejos, noticias, curiosidades... del mundo de la programación.
También puedes seguirnos en Twitter, Facebook, YouTube... y por supuesto visitar este blog.

Ya ves que ofrecemos muchísimo material gratuito aparte de nuestros excelentes cursos Premium, que por supuesto te recomiendo :-)

Saludos.

Responder

El primer lenguaje que aprendí fue Pascal en las prácticas de informática de la universidad, luego algo parecido al BASIC en mi calculadora casio, para graduarme en ingeniería mecánica tomé un proyecto de creación de software de simulación mecánica. Esa vez lo hice en Visual Basic 6 por recomendación de un ingeniero electrónico que era un programador experto, yo no manejaba ningún IDE de programación ni sabía que existieran, pero VB6 se me hizo de lo más fácil, duré 3 meses en aprenderlo y dos semanas sin dormir programando. Hasta ahora no he conocido otro IDE ni lenguaje de programación tan rápido de aprender y usar, las aplicaciones se programan casi solas. No hay tantos recursos de formación para Visual Basic pero lo poco que hay es de buena calidad y al ser tan fácil de aprender no es necesario buscar otra explicación del mismo tema. Ahora tambien termino una carrera en contabilidad y últimamente he vuelto a darle una mirada a la programación de aplicaciones, me he topado con lenguajes nuevos que dicen ser más fáciles y "mejor estructurados" que supuestamente "tienen más futuro" pero a la hora de la verdad lo que me interesa es sacar rápido mi aplicación y usarla ya, no me interesa si los profesionales en informática me ven bonito o feo por el lenguaje en el que programe. Es mi punto de vista personal y me ha dado buenos resultados enfocarme más en los asuntos de ingeniería o contabilidad cuando programo mis aplicaciones que en el lenguaje o el IDE en el que programo y por eso elijo la programación en Visual Basic y agradezco que Microsoft mantenga un lenguaje y un IDE tan fácil de usar.

Responder

Pues yo vine conociendo fue basic utilizando el ide interprete y compilador gambas linux y por lo que he visto basic ha sido lo mas bello y facil de manejar tanto asi que logre desarrollar programas y sistemas de manera rapida y profesional pero en la actualidad me estoy topando con esta moda y tal parece que obliga al programador a hacer lo que diga la empresa por simple popularidad! Y esti como que fastidia a mi nunca me ha gustado java y como java es el mas popular pues los que han programado en el se les hace facil aprender con el visual C#.

Responder

Lucas_Venezuela
Lucas_Venezuela

¿C# o VB.NET ¿qué lenguaje debo aprender?
Ninguno, C# no es tan ergonómico como BASIC y VB no es multiplataforma, Visual Studio en general es muy pesado en el disco duro. Hay otras opciones de desarrollo rápido (RAD)  gratuitas y multiplataforma basadas en BASIC más fáciles de usar que el propio Python.

Responder

Arismendy Zorrilla
Arismendy Zorrilla

Este post está muy bien, pero pienso que esta un poco desactualizado con relación a VB.NET y lo que anuncia microsoft en sus canales oficiales (ver video https://channel9.msdn.com/Events/Build/2016/C920), mi parte favorita es la que dice "la experiencia del engranaje de herramientas de Visual Studio de los usuario de C# dicen Wow! y mas aun cuando estos vienen del mundo de Java, lo que no se imaginan es que todo esto viene del Paradigma VB...".   En el ultimo update de Visual Studio 2015 hay muchos "Azucares" incluidos me parece que el único que no está es el de comentarios multi-línea, pero las comparaciones null se pueden hacer con el símbolo ? para definidos y ! objetos.

En definitiva C# y VB.NET son magníficos lenguajes, en mi caso quiero a VB.NET y adoro a C#... ambos hijos de VS.NET deben permanecer por siempre... Microsoft esta claro en eso y lo que busca es a traer mas desarrolladores a su .NET por eso la compra de Xamarin y coquetear con Linux para brincar a iOS para hacer lo mismo que realizo con FoxPro y Delphi a los de Swift, Java y Objetive-c y atraerlos a Windows (es un negocio).  Existen muchas aplicaciones empresariales realizadas en VB.Net y por ello Microsof seguirá dando soportes a estas.

Saludos!

Responder

José Manuel Alarcón
José Manuel Alarcón

Hombre, que todo esto parte, en los '90 de VB, está claro. Ya te digo que yo vengo de esa época y también me gustaba mucho VB. Pero la realidad es la que es y no creo que esté muy desactualizado en nada. de hecho ¿en qué lenguaje programas en el nuevo .NET Core? ¿C# o VB.NET?

Creo que todo lo que puse en este post hace más de 1 año sigue siendo totalmente válido por mucho que "queramos" a VB.

Gracias por comentar.

Responder

Arismendy Zorrilla
Arismendy Zorrilla

Me parece que no viste el video.  Microsfot realizó varios cambios en VB.Net en los últimos updates (los cuales dices en tu post inicial que VB.net no hace), y comenta que cuando le hacen algo a C# el equipo de VB.Net lo implementa en los próximos releases para dicho lenguaje.  

En el blog oficial del nuevo .NET Core, de versión 1.0, dicen los creadores de éste: "...dotnet works great with C# projects. F# and VB support is coming."  Es decir que es posible que en las nuevas versiones vendrá soporte para VB.Net y lo mismo para Xamarin.  Este ultimo fue adquirido por Microsoft  en febrero 2016, soporte de para Linux y para poder soportar todo esto tuvieron que lanzar un framework de plataformas cruzadas: .NET Core (recuerda que es una carrera para atraer mas desarrolladores a Microsoft).  Lo mismo pasó con ASP.NET MVC5, en un inicio no tenía soporte para VB.Net y muchas personas iniciaron a escribir que MS quitó el soporte para VB y en menos de 2 mes ya estaba soportado, aun andan algunos post de esos por ahí.  Me he dado cuento que muchos de los MVP de .NET escriben en sus blogs sobre el tema como si VB.Net fuera la oveja negra y anuncian se acabo el soprte para este lenguaje; lo peor es que no es oficial y los nuevos developers se lo creen.  Entiendo que si es oficial hay que aceptarlo; pero si no lo es, debemos cuestionarlos, como le sucedió a Stephen Walther.

No te sientas mal, tu post es muy bueno, pero las cosas cambian de un mes a otro en el mundo tecnológico.  Si quieres, indagues sobre lo que digo y veras que hay cosas que dices que VB.Net no soporta y si, hace unos mese no, pero ahora si.  Las demás quizás en unos meses también estén soportadas.

Saludos!

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola:

Conozco perfectamente lo que comentas, pero todo eso sigue significando que VB.NET es un lenguaje de segunda para Microsoft. Creo que no cambia prácticamente nada lo que dice el artículo.

Yo en ningún momento digo que VB.NET sea una mala opción: solo digo que C# es una opción superior por muchos motivos. Y sigo pensando exactamente lo mismo.

Saludos.

Responder

Tengo  12 años de programar en C# he hecho toda clase de aplicaciones y no me parece que la sea mas difícil de aprender que VB.NET, el cual aprendí en la universidad y nunca me gustó. Por lo que les recomiendo a las principiantes que hagan una apuesta segura al programa en C#.

Responder

Excelente artículo, totalmente de acuerdo yo también vengo de los 90s programando desde el vb 6 y vb.net por más de 12 años, visualero de corazón,  hace 3 años migre hacia c# por cuestiones diversas, era difícil conseguir programadores en vb, ya no había tantos tutoriales en vb y si la cuestión social fue un factor, entregabas el proyecto al cliente en vb y sus asesores tecnologicos se te quedaban viendo con cara de que eras abuelito generando desconfianza , y también la competencia se aprovechaba para tacharnos de obsoletos,  el consejo que le das a los próximos jovenes programadores es muy acertivo, pero agregaría a quienes somo visualeros de corazón , es nuestra obligación dominar  también el c# no sólo para estar a la par de todos, también nos ofrece ventaja profesional por la versatilidad que genera un integrante de estos en un equipo de desarrollo

Responder

Rodhzuniga
Rodhzuniga

Excelente, soy de esas personas que vienen de VB6 y por necesidad, tengo que hacer una aplicación en VB2015, y resulta que tiene C#, y creo me inclino por esta tecnología, tu artículo me sirvió para dar ese último paso. saludos desde méxico

Responder

Jesús Melo
Jesús Melo

Concuerdo con el autor en todo, yo vengo de VB 6 y necesitaba una manera fácil de entrar al .Net, y por eso elegí el Visual Basic .Net, pero estoy más que claro que el futuro de las aplicaciones multiplataformas está de la mano de lenguajes como C#.

Así que si queremos estar a la vanguardia y con empleo, a programar en C#, Java, etc...!

Responder

Yo venía de vb6 y claro, lo más fácil para iniciarte en .net es coger vb.net, pero las circunstancias laborales me hizo empezar en c#, hoy día me desenvuelvo como culebra en ambos lenguajes (que en realidad es lo ideal) y programo tanto en uno como en el otro como pez en el agua. Pero sí, llevas toda la razón que lo "cool" es decir , "sé c#" y no decir "se VB", algunos sivaritas actuales ven un GOTO X y se le caen las lágrimas de nostalgia y puede que ignoren que GO-TO también se puede usar en c#.

El final de todo es tener una buena idea y que funcione, como esté hecha ¿importa realmente?

Muy buen artículo. Todo correctísimamente analizado.

Responder

Jean Pier
Jean Pier

Hola, soy estudiante de ingeniería informática en Perú, lei completamente el post y me sorprendí por toda la información, yo he desarrollado con C++ y Java, y quiero entrar al mundo de .net pero no sabia con que lenguaje, es obvio que me voy por C#, seria de gran ayuda si pudieran enviarme material o algun curso gratuito o no tan caro para aprender C#, estoy totalmente ensusiasmado en aprender ese lenguaje, espero una respuesta y gracias por la informacion.

Responder

celestino
celestino

Saludos, no señores cuando uno inicia en estos entorno de programación, nos enseñan con pascal y c++ como base de conocimientos, después entran la desesperación de los profesores y nos dan clases del vb6 que ahora es vb net pero sin en cambio no es un lenguaje optimo para desarrollar y aprender a profundidad por que, tan simple, lo han portado con los mismos vicios de sintaxis y que decir cuando se trabaja con otras personas que también saben de vb en sus variantes, a mi me quedo la mala experiencia de que no mas hacer parches de codigos confusos y sin comprender la logica mal planteada por seguir usando el vb y vbnet, creo que en mi humilde opinión, el c# mejoro por ser primo lejano del c y c++ y uno mismo desarrolla mas cosas, por la logica que se lleva y sobre todo respetando la sintaxis y manera de hacer desarrollos al extremo, en fin me siento mas capaz en c# que con vb net que pues no me quedo mas que aprender en la school pero por fin me quede con c#  y actualmente desarrollo en ese lenguaje, espero que lo publiquen
  

Responder

bueno señores después de tanto debate déjenme comentar que hoy en la actualidad ando desarrollando en vb.net por lo cual no tengo ni tantita idea de que era ese lenguaje yo les fui claro la empresa de donde trabajo que soy mas java que .NET aun asi me contraron y poes créanme que el lenguaje esta padre, nada mas que me confundo bastante por su sintaxis, como quien dice me están pagando por aprender este lenguaje porque los sistemas que manejan están en vb.net y no creo que cambien porque es una magnitud de proyecto ya hecho. saludos

Responder

He buscado y leído mucho acerca de este tema, pero esta es la última vez. Has sido muy específico en lo práctico pero no por ser práctico será lo mejor. Yo no programo, no se nada de eso y por eso he estado consultando tanto para no empezar con lo peor. Me decido por C y ya no tengo dudas. Gracias!!!!!

Responder

Agregar comentario