Menú de navegaciónMenú
Categorías

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

?id=bc35cbbd-9a59-4a4f-baf1-5b38db2b7f68

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.

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.

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#

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.

Fecha de publicación:
José Manuel Alarcón Fundador 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. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón
Archivado en: Lenguajes y plataformas

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (64) -

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

Bladimir Silva Toro
Bladimir Silva Toro

Hola:

Solo paso 1 mes de la publicación de este articulo y Microsoft ya dio soporte a VB.NEN en ASP CORE

Te dejo el enlace para que lo leas: www.variablenotfound.com/.../...o-en-aspnet-5.html

Responder

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

Hola Bladimir:

Te recomiendo que leas este articulo, mucho más reciente, para que veas que de lo que dice Microsoft a lo que realmente hace un trecho muy largo, y este caso es un ejemplo más:

www.variablenotfound.com/.../...-aplicaciones.html

Conclusión: si quieres hacer desarrollo con .NET core debes usar C#. No hay otra.

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

Christian
Christian

Muy buen articulo.
Yo creo que depende del lenguaje que tenga de base cada para la eleccion, y en el caso que no sepas nada de programacion, empieces por C#. Yo programo con Visual Basic desde la version 4.0 y la verdad no encontre limitacion alguna (me refiero a ultimas versiones). Y si queres programar para moviles aprende JAVA derecho.
No creo que Microsoft deje a VB, se les vendria mucha gente en contra y va a tener que ser flexible para ambas cumunidades.
Saludos  

Responder

muy buen articulo te felicito, Haz una comparativa asi de detallada entre C# y java, por ahi alguien me dijo que C# es un hibrydo, y que esta basado en java..

Responder

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

Gracias Martín.

No soy experto en Java para poder hacer una comparativa a fondo, eso sí, l que te puedo decir es que C#, evidentemente, tiene una gran inspiración en Java, al igual que Java lo tiene en C++. Hay otros con sintaxis parecida, como Objective-C, por ejemplo, o JavaScript.

Ambos se basan también un una máquina virtual de ejecución con "Bytecode" (www.campusmvp.es/.../...-java-virtual-machine.aspx) pero eso ya lo hacían antes de Java muchos otros lenguajes. Es decir, todos los lenguajes y plataformas están basados en el trabajo de lenguajes y plataformas anteriores.

Es más, si lees un fragmento de código sencillo es posible que no sepas si está escrito en Java, en JavaScript, en C# o en C/C++. Pero no te dejes engañar: la apariencia en la superficie no quiere decir que se parezcan de verdad.

Las plataformas (ojo: hay que distinguir entre plataforma y lenguaje) son muy diferentes, y evolucionan por separado, con conceptos diferenciados en muchas cosas.

Saludos!

Responder

Hola.

Yo soy programador en vb. Y claro c# lo sobrepasa en el ambiente laboral. Creo que la necesidad de programadores en vb.net está desapareciendo de las corporaciones. Solo quedan los puestos que atienden las aplicaciones 'viejas' . Los nuevos desarrollos en las corporaciones van en c#.net (cuando de Microsoft se trata).

Cuando he tenido que investigar para desarrollar mis aplicaciones muchas de las soluciones las he encontrado en c#.net y convertirlas a vb.net no da problema.

Yo agregaría algo al artículo  (que considero excelente). Si vas a aprender un lenguaje para contratarte en una empresa (en México estoy 100% cierto) aprende c#.net o java. Ahi esta la demanda mas importante.

Saludos.

Responder

El indice TIOBE ya pone por encima a VB.Net sobre C#, algo está pasando.

Responder

El tiempo parece que dió la razón a los amantes de VB.Net, a la fecha de hoy Julio 12  de 2018 VB.Net supera a C# en el indice TIOBE.

Responder

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

Hola Harold:

Teniendo en cuenta que Microsoft ha dicho hace poco que va a romper el histórico proceso de equiparar las características de C# y de VB.NET cada vez que se saca una nueva versión (www.infoworld.com/.../...n-out-in-the-new-net.html), me temo que la apuesta por VB.NET es cada vez más arriesgada y tiene menos sentido.

Quizá por eso hayan aumentado las búsquedas sobre el lenguaje, que es el criterio que usa TIOBE para su ranking. O ¿seriamente crees que VB.NET es el doble de popular, por ejemplo, que JavaScript?

En cualquier caso, nadie sabe con certeza lo que depara el futuro, pero sí hay que saber leer los indicios, y todos los indicios indican que VB.NET está en retirada hace años.

Puestos a escoger entre C# y VB.NET lo inteligente es la primera opción por todo lo que comento en el artículo. Si quieres hacer caso omiso a todos los argumentos de éste frente a "un mes, en TIOBE, aparece por encima de C#", me parece un gran riesgo para tomar una decisión. Pero, hey!, cada uno que haga lo que quiera, por supuesto.

Saludos!

Responder

adolfo vanegas
adolfo vanegas

Buenas, excelentes comentarios, pero yo creo que seguiré apostando a vb.net, no me queda de otra, soy desarrollador desde hace muchooooo tiempo, y todo lo que he hecho a nivel de escritorio lo tengo que vb.net, cada 2 años hago actualizaciones del software que vendo, y la verdad no quisiera volver a reescribir el código. Creo que la única razón  que C# le este ganando la partida a VB.net es que simplemente los programadores nuevos, que son mas cada día, prefieren este lenguaje por la cantidad de ejemplos que hay en la red, no creo que tomen mucho en cuenta todos estos argumentos que das. Yo he sido autodidacta todo el tiempo, hoy en día tomar un curso de  lo que sea lo encuentras en la red. Cuando decidí meterme e web, busque todo tipo de temas relacionado, y encontré mucho mas ejemplos en c# que en vb.net y es por eso que aprendí a usar #C, pero a regañadientes.  Al utilizar los dos lenguajes puedo asegurarles que es mucho mas fácil usar VB.net que el #C. NO estoy de acuerdo contigo en que #c es mas fácil de leer, con esa estructura de { } uno se pierde a veces. En lo que si estoy de acuerdo contigo que la tendencia de usar c#  esta desplazando al vb.net, pero solo es por que es la moda, no porque sea mejor. YO no soy de los que se pone un pantalón o camisa, porque simplemente esta a la moda. A pesar de todo aun le queda mucho pero mucho tiempo al vb.net para seguir en el escenario.


Saludos


Responder

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

Hola Adolfo:

Ya digo en el artículo que C# y VB.NET son casi equivalentes en cuanto a capacidades, por lo que viendo lo puramente técnico da igual uno que otro pues al fin y al cabo lo que importa es lo que hay debajo: la plataforma, y esto no cambia con uno u otro lenguaje.

Ahora bien, a la hora de utilizar un lenguaje hay muchos otros factores a considerar, y C# gana por mucho en todos ellos. No es solo una moda: se trata de hechos.

Por supuesto, si tienes tus aplicaciones ya hechas en VB no vas a cambiarlas. No tendría sentido. Y si lo llevas usando años tampoco. Pero si alguien debe aprender un nuevo lenguaje para .NET eligiendo entre ests dos, que es lo que va este artículo, creo que no debería dudarlo ni un segundo: C#.

Saludos!

Responder

Roberto Miguel García Aguirre
Roberto Miguel García Aguirre

Yo trabajo con VB.NET aunque tambien se usar Java y otros lenguajes.Mi recomendación es aprender ambos.

Responder

Todo caera por su peso, VB es el mejor lenguaje que ha existido y sigue éxistiendo con VBA

De todas formas el uso de Excel es superior a cualquier lenguaje.

Yo veo en VB, VBA, VB.Net practicamente la misma sintaxis.

Responder

mi conclusión como programador de ambos lenguajes es que la gente es tonta y por eso tenemos el mundo q tenemos.

¿qué prefieres leer?

if (a+b)==4{
     "eres tonto";
}else{
     "tambien lo eres";
}

o


if a+b =4 then
   "eres inteligente"
else
   "tambien lo eres"
end if

que una gran cantidad de gente venga de C/C++, java (me incluyo) etc... no implica q uno no pueda dejar el ego a un lado y reconozca la facilidad obvia de VB, y si otro programa resulta ser igual de potente y más fácil de leer, pues habría q haber apostado por él, pero ya es caso perdido, ni modo. la gente tonta quiere escribir más.

Responder

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

Hola Abel:

En C# también puedes leer:

if (a+b ==4)
   "eres inteligente"
else
   "tambien lo eres"

que aún es más corto y sencillo 😉

La cuestión es que muchos a favor de uno u otro se centran en la sintaxis y no es cuestión de la sintaxis, que sólo es cosmética y es lo de menos. Lo que importa son otras cosas, que se analizan en el post, y todo lo demás es secundario, incluyendo detalles como este.

Creo que se dan razones objetivas para decantarse por C# porque, por mucho que te guste VB, la realidad es otra. Yo vengo de VB, por cierto, como comento en el post.

Saludos.

Responder

Hola a todos. Me interesó el artículo y también los posteos posteriores, donde hay para todos los gustos. Las discusiones sobre lenguajes de programación, a mi criterio, no pueden pasar ni por cuestiones estéticas, ni por cuestiones de modas (Recuerdo que JavaScrip era amo y señor al decir de muchos futurólogos), sino por cuestiones que tienen que ver con las posibilidades de desarrollo de software con valor comercial (Finalmente todo pasa por el dinero). A Enero/2020, C# ocupa el 5to. lugar y VB.Net el 6to. lugar en TIOBE... Epa, que pasó?
Respecto de las decisiones comerciales de Microsoft, no olvidar que Basic, y luego VB han sido en su historia, sus niños mimados de los lenguajes de programación, y cuando muchos pronosticaban que .Net no tenía un buen futuro, hoy no se podría decir lo mismo.
Igual, la verdad es que no puedo evitar las dudas respecto al futuro de Vb.Net, pero tampoco, a mi criterio, es para descartarlo sin más. Yo tomaría la decisión de mantener lo ya desarrollado en Vb.Net y avanzar simultáneamente con C#. Pero, siempre hay un pero, si desarrollas para pequeños dispositivos, no podrás hacerlo con Vb.Net.

Responder

Bladimir Silva Toro
Bladimir Silva Toro

En marzo de este año 2020 salio algo con respecto a que le NET CORE 5 sera soportado por Visual Basic.NET, se los dejo para que se actualicen:

devblogs.microsoft.com/.../

Responder

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

Hola Bladimir:

De este tema ya he hablado aquí: www.campusmvp.es/.../...ic-net-ya-ha-empezado.aspx

Y no, no significa que .NET 5 refrende a VB.NET: todo lo contrario. Lo que explico en el enlace anterior es precisamente que eso maca el inicio del fin de VB.NET. Échadle un vistazo.

Saludos.

Responder

Me interesaría mucho migrar a C# por la popularidad que tiene actualmente, pero tengo una duda, ¿es viable el cambio cuando doy mantenimiento  a cinco proyectos web hechos con VB .NET?

Responder

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

Hola:

C# y VB.NET, así como cualquier otro lenguaje para la CLR pueden coexistir en los proyectos sin problema. Migrar a C# no implica necesariamente, por tanto, convertir todo a este lenguaje, sino que puedes dejar lo que tienes como está y simplemente empezar a programar todo lo nuevo con C#, pudiendo tener las aplicaciones en ambos lenguajes sin problema.

Saludos.

Responder

Desesperación...
Desesperación...

Me parece que juzgar un lenguaje por su popularidad y por ejemplo COBOL está muerto pero te pagarían más por el que por C precisamente por eso. No digo que te aprendas COBOL porque ya nació muerto pero digo que VB.NET es mejor por:
-Enseñarte el arte de la programación estructurada : Todo empezo siendo estructurado porque es sencillo para el ordenador y pa ti, luego vino el OOP y el FP que si te quitamos bugs, que si no se qué pero las comunidades de C++ o Haskell son un asco mientras que las de Pascal, BASIC o C son literalmente los mundos del yupi.
-Hay gente que por el punto anterior se pasa de C++ a C.
-La gente aún hace compiladores de QBasic porque quieren un Basic 100% estructurado y que no compile a sucio bytecode.
-Aun así si ignoras las características OOP opcionales se ve como el Visual Basic y hasta te puedes meterla programación dirigida por eventos por el culo y solo la usas para UI es un QBasic a gran escala.
-Si sabes VB puedes programar en calculadoras!

Responder

Hoy a 2020. Pegaditos 5 y 6to.

VB hace todo más fácil.

C# es Java mejorado.

C++ es mejor que C#.

Responder

Cristian Luis Teixeira
Cristian Luis Teixeira

Apesar desse artigo já ter sido escrito há alguns anos ele ainda recebe comentários e é muito atual

José Manuel Alarcón quero parabeniza-lo pelo excelente texto, apesar de achar um pouco tendencioso, mas o mercado cria sim essas perspectivas num contexto geral

1.- Capacidades linguísticas
Sim, o VB.NET ainda hoje é uma das linguagens de programação mais poderosas no mercado, no entanto, ela com certeza irá se distanciar cada vez mais de C#, o motivo é simples MERCADO, C# é um produto que é resultado de ROI e é muito influenciado pelo modismo, C# foi criado justamente para conquistar parte do mercado de Java, devido a isso a semelhança absurda é apenas uma consequência, mas como disse, ele é um resultado do ROI e já existe projetos de aproximar o C# de Python o que no meu ponto de vista C# poderá ser tornar um hibrido de muito sucesso ou uma grande aberração tentando conquistar mercado e radar a qualquer preço.
VB.NET conquistou estabilidade e maturidade, posso afirmar que com o código atual podemos viver tranquilamente por no mínimo 20 anos.

2.- Aspectos “sociais”
Devemos ter muito cuidado ao escolher uma linguagem baseada no quanto ela é popular em sites e comunidades de perguntas e respostas, se você verificar com bastante atenção e constatar que a maioria das perguntas são relacionadas a coisas simples e frequentes irá perceber que a linguagem pode apresentar questões dúbias ou muitas pegadinhas, isso implica que ela pode ser poderosa mas também mal pensada, ou simplesmente a linguagem favorece o compilador e não o desenvolvedor,  Visual Basic é um produto muito diferente, não faz sentido ter toneladas de perguntas pois VB é muito simples, é um dialeto que tem como objetivo facilitar para o desenvolver e não para o compilador, esse é um indicador que deve ser muito bem analisado.
Analisar apenas por índices de popularidade como Tiobe também é arriscado, se você estiver sentado numa mesa rodeado de desenvolvedores de compilador terá uma visão bem diferente, os descendentes de C sempre foi a  preferência em nichos e não para a programação do dia a dia, a não ser que exista saltos (PICOS) de tempos em tempos.

•  Basic – revolucionou a forma de aprendizado
•  C – Revolucionou o desenvolvimento de software e o desenvolvimento de hardware
•  Visual Basic – Mudou o mundo com aplicações visuais – salto da linguagem derivada BASIC
•  Java – Mudou o mundo com a portabilidade - salto da linguagem derivada de C, mas já veio incorporado com aplicações visuais
•  Python – mudará o Mundo pela simplicidade – Salto da linguagem NÃO derivada de C, reformulada, atualizada e preparada para Desktop, Web, Mobile, IA e etc

Assim é o ciclo, como entraremos em um novo domínio, Python já sinalizou o interesse maior em intercambiar e ser compatível com VB, Perl e Elixir pois uma linguagem em C ou derivade de C (Java, Javascript, C#, ) não faz sentido para o que é Python.

O Futuro do VB.NET será também bifurcar e interoperar com Python no dia a dia, é onde faz mais sentido e não em C# devido a sintaxe

No entanto, eu prefiro estar com C# devido a plataforma de desenvolvimento!

Por falar em bifurcar vejamos como está essa relação VB.NET e C# - Relação de 0 a 10

Desktop – 0
Web – 1 a 3
Mobile – 9 considerando que você optou por C#
Mobile –  1 – 3 Mas você pode usar VB.NET no Xamarin mesmo sem suporte se for bom em VB
IA – 2 a 4 – se optar por usar VS 2019

Observando esses dados o VB.Net terá uma vida muito, muito longa e sempre que não puder alcançar algo poderá recorrer ao C# como apoio em funcionalidades Mínimas pelos menos em 20 anos, depois disso é difícil prever algo.

Conheço bem os dois idiomas, mas optei em minha logística iniciar em VB.net e Completar se necessário em C#, isso é pessoal, apenas por questão de produtividade mesmo.
Já tenho tempo bastante para entender o que é modismo e atualizações de seis por meia dúzia e etc.

Para os que já são desenvolvedores em VB seria bom ler esse artigo.
anthonydgreen.net/.../

Responder

Jhonattan Aguiar
Jhonattan Aguiar

Pues imagínense que yo vengo de realizar desarrollos con Microsoft Access y aprendí Visual Basic.Net en un abrir y cerrar de ojos, creo que deberíamos crear un blog mundial para todos los que nos gusta VB.Net convertirnos en un gran colectivo para crear una fuerza mayor de fuente de aprendizaje de VB y de esta forma derrotar estás condenas sociales hacia VB que en realidad es un maravilloso lenguaje sin duda alguna, lo que si siento es que le falta más cavidad dentro de la red porque en Google colocas algo sobre VB y lo primero que hace es enviarte vínculos relacionados con C# y es algo que llega incluso a molestar, pero en fin creo que se puede hacer más respecto a mantener en el tiempo a VB si Microsoft ve que hay un gran colectivo desarrollando y aportando ideas sobre VB.Net es mi humilde opinión!

Responder

Es interesante como un artículo del 2015 sigue siendo relevante en 2021. Y entiendo que lo seguirá siendo en el futuro. Gracias por compartirlo.

En mi caso, vengo del mundo del Visual Basic 6. Creé un ERP en VB 6 y fundé una empresa en base a este sistema (www.sj.com.do) . Ahora mismo, hemos migrado ya como el 95% del sistema a .NET, pero obviamente utilizando VB.NET por el tema de la curva de aprendizaje.

El ERP tiene código desde el 2003 que fue cuando iniciamos el proyecto. Estamos dando oportunidades a nuevos talentos para que puedan tomar experiencia en este mundo del desarrollo de soluciones y rápidamente estos recursos aprenden el lenguaje y generan soluciones para los clientes de forma rápida y con alto nivel de calidad en la entrega.

Ciertamente, visionamos un esquema híbrido eventualmente (C# y VB.Net) para poder continuar ofreciendo soluciones a nuestros clientes en plataformas escalables.

Mientras tanto, vb.NET representa una muy buena herramienta de trabajo y generación de ingresos al margen de los aspectos que muy bien has destacado sobre las ventajas de un lenguaje sobre otro.

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.