Después de 28 años, ¿estamos viendo por fin el principio del fin de uno de los lenguajes más populares del mundo?

Matthew MacDonald

Sigue
Jun 10, 2019 – 9 min read

Tengo que confesar algo. Antes de convertirme en un desarrollador respetable que trabajaba con lenguajes modernos de corchetes como C# y Java (y ese desastre caliente de plataforma que llamamos JavaScript), era un fanático dedicado del desadaptado y popular Visual Basic.

Mi encaprichamiento comenzó honestamente. De preadolescente aprendí a programar con el lenguaje BASIC. Pero no cualquier BASIC. Empecé en el innovador entorno QuickBASIC de Microsoft en el antiguo sistema operativo DOS. Todavía recuerdo haber escrito código en texto blanco sobre su alegre fondo azul.

Para programar en 1988, QuickBASIC era mágico. Podías escribir código sin los engorrosos números de línea, detectar errores de sintaxis a medida que escribías y lanzar tu programa directamente desde el entorno de desarrollo, sin necesidad de hacer tonterías en la línea de comandos. Y cuando terminabas, podías compartir tu programa con tus amigos usando uno de estos chicos malos:

Max Pixel / CC0

Estos días, QuickBASIC es una curiosidad más del pasado lejano. ¿O no? Un proyecto innovador llamado QB64 ha creado una réplica moderna de QuickBASIC. Funciona en Windows, MacOS y Linux, sin necesidad de emulador. Cuando se ejecuta un programa en QB64, éste realiza un hábil juego de manos: primero traduce el código BASIC a C++ y luego lo compila.

QuickBASIC era una hazaña impresionante para los antiguos días de los sistemas informáticos basados en texto. Pero las cosas cambiaron cuando Microsoft lanzó Windows y catapultó a los usuarios de PC a un mundo gráfico de botones y clics. Al mismo tiempo que Microsoft lanzó Windows 3.0 -la primera versión que tuvo verdadero éxito- también lanzó Visual Basic 1.0.

Aquí había algo totalmente nuevo. Podías crear botones para tus programas dibujándolos en la superficie de una ventana, como si fuera una especie de lienzo artístico. Para hacer que un botón hiciera algo, todo lo que había que hacer era un doble clic en el entorno de diseño y escribir algo de código. Y no se utilizaba el críptico código C++, con montones de clases, una compleja gestión de la memoria y oscuras llamadas a la API de Windows. En su lugar, escribías código VB de aspecto amigable, como una persona civilizada.

Toda la chispa gráfica era impresionante, pero el verdadero secreto del éxito de VB fue su practicidad. Sencillamente, no había ninguna otra herramienta que un desarrollador pudiera utilizar para esbozar una interfaz de usuario completa y empezar a codificar tan rápidamente como VB. Y aunque a los historiadores les encanta hablar de la parte visual de Visual Basic, su capacidad distintiva no tenía nada que ver con los widgets gráficos. En cambio, VB se hizo famoso por una característica legendaria llamada «editar y continuar», que permitía a los desarrolladores ejecutar sus programas, encontrar problemas, arreglarlos y luego seguir adelante con el nuevo código. Esto suponía una marcada diferencia con casi todos los demás entornos de programación conocidos por la humanidad, que obligan a los desarrolladores a recompilar su trabajo y empezar de nuevo después de cada cambio.

El Visual Basic original prosperó durante aproximadamente una década. Lo que comenzó como un entorno amigable para los principiantes se convirtió en una herramienta lo suficientemente capaz para los programadores serios. Para el lanzamiento de VB 6 -la última versión del Visual Basic clásico- se estimaba que había diez veces más programadores escribiendo en VB que en el implacable lenguaje C++. Y no se limitaban a crear aplicaciones de juguete. Visual Basic se coló en las oficinas de las empresas e incluso en la web a través de ASP (Active Server Pages), otra tecnología monstruosamente popular. Ahora se podían crear páginas web que hablaban con componentes de VB, llamaban a bases de datos y escribían HTML sobre la marcha.

Todo esto ocurría prácticamente sin estructura, a menos que eligieras crear una tú mismo. Este era el tema no escrito de Visual Basic: te daba la libertad ahora que luego lamentarías.

El problema con el VB clásico

El VB clásico tenía una mala reputación en muchos círculos. Los fanáticos de la orientación a objetos se quejaban a menudo de que VB carecía de soporte para la herencia. (Era una crítica extraña, teniendo en cuenta que la herencia es a menudo una gran manera de que los desarrolladores menos hábiles se disparen en el pie – exactamente el tipo de característica que VB no necesitaba). De hecho, el VB clásico no se quedaba atrás en la orientación a objetos. Al final de su vida, soportaba interfaces, polimorfismo y bibliotecas de clases, todo lo cual tomó prestado de COM, una pieza central de la tecnología de componentes que está incorporada en todas las versiones de Windows.

El verdadero problema de VB clásico fue que tuvo demasiado éxito. Era tan eficaz a la hora de reducir las barreras para los nuevos programadores que, literalmente, cualquiera podía utilizarlo. Los novatos descuidados, los trabajadores aburridos de las empresas y los estudiantes de verano lo pisotearon, resolviendo retos que habrían sido mucho más difíciles en cualquier otra plataforma, y rociando código espagueti por todas partes.

En otras palabras, como VB era lo suficientemente fácil de usar incluso si no eras un codificador capacitado, fue utilizado por un montón de personas que no eran codificadores capacitados. Y VB no hizo nada para animarles a corregir sus malos hábitos.

VB.Fred y la solución .NET

Adelante, en 2002, Microsoft estaba haciendo lo que mejor sabe hacer: perturbar su propio ecosistema de desarrolladores introduciendo una forma completamente nueva de hacer las cosas.

Esta vez, el proyecto era una reordenación masiva de COM, la tecnología de componentes que sustentaba Windows (e, indirectamente, el VB clásico). Fue un momento de apuesta por la empresa para un megalito del software que ya había hecho varias apuestas de este tipo.

Microsoft llamó a este reinicio .NET por una serie de dudosas razones, entre ellas el hecho de que las tecnologías de Internet eran todavía algo nuevo y emocionante, y porque .NET incluía una función de servicios web que Microsoft estaba decidida a promover. Estaba fuertemente influenciado por Java, y repleto de herramientas para comunicarse con bases de datos, construir sitios web, escribir programas multihilo, hacer conexiones a través de sockets – prácticamente todos los casos de uso que un desarrollador de negocios podría imaginar.

El único problema fue que para conseguir todas estas nuevas características, Microsoft tuvo que desechar casi todo el VB clásico.

La nueva versión, llamada VB.NET, se veía más o menos igual, si se entornaba el ojo. Pero tenía un montón de cambios de última hora, tanto grandes como pequeños. En el lado grande: Los viejos programas VB quedarían atrapados en el viejo mundo de la programación, y un asistente de migración asombrosamente pobre hizo poco para cambiar eso. En el lado pequeño: Los programadores clásicos de VB tuvieron que cambiar la forma de contar los elementos de los arrays. Ya no podían empezar en 1, como la gente normal. Ahora tenían que empezar en 0, como los programadores oficiales.

También en el lado grande: Ya no existía la función de editar y continuar.

Los desarrolladores son conocidos por quejarse, y los desarrolladores de VB son un grupo particularmente quejoso. No pasó mucho tiempo antes de que un grupo de influyentes desarrolladores de VB bautizara el nuevo entorno de programación de Microsoft como VB.Fred para enfatizar que, fuera lo que fuera, este nuevo lenguaje no era Visual Basic.

Lo que condenó a Visual Basic

Podría suponerse que los cambios de .NET agrietaron los cimientos de VB y pusieron en marcha su inevitable declive. Pero eso no es lo que ocurrió. De hecho, a pesar de que VB.NET se precipitó en una nueva dirección, e hizo cambios de ruptura que dejaron huérfano el código VB clásico perfectamente bueno, se hizo masivamente popular. Eso es porque VB.NET dio algo que los desarrolladores clásicos de VB nunca tuvieron antes: respeto.

En el mundo .NET, VB y C# estaban en igualdad de condiciones. Cada línea de código VB podía traducirse a una línea equivalente de código C#, y viceversa. Ambos lenguajes tenían las mismas capacidades, utilizaban los mismos componentes y compilaban exactamente de la misma forma (algo llamado lenguaje intermedio). VB se libraba por fin del síndrome del pato feo.

Pero había un problema para ser otro lenguaje de programación respetable. El entusiasmo que había hecho de VB el lenguaje preferido por tanta gente había desaparecido. No porque VB hubiera cambiado, sino porque C# lo había hecho.

Así como VB adquirió la misma potencia que C#, C# recogió las mismas comodidades que Visual Basic. Por ejemplo, las características de seguridad de tipos y gestión de memoria de .NET hicieron que los desarrolladores de C# no tuvieran que preocuparse nunca por las fugas de memoria, al igual que los desarrolladores de VB.

En otras palabras, C# tenía ahora las barandillas para proteger a los aficionados, estudiantes y nuevos programadores sin renunciar a su potencia. De repente, VB ya no era algo especial. Era una herramienta más en la caja de herramientas de un programador capaz.

El estado de Visual Basic hoy

Hoy en día, Visual Basic se encuentra en una posición extraña. Tiene aproximadamente el 0% del mindshare entre los desarrolladores profesionales – ni siquiera figura en las encuestas de desarrolladores profesionales ni aparece en los repositorios de GitHub. Sin embargo, sigue ahí fuera, manteniendo las macros de Office, alimentando viejas bases de datos de Access y antiguas páginas web de ASP, y atrayendo a los recién llegados a .NET. El índice TIOBE, que intenta medir la popularidad de los lenguajes mirando los resultados de las búsquedas, todavía sitúa a VB entre los cinco lenguajes más comentados.

Pero parece que el impulso ha cambiado por última vez. En 2017, Microsoft anunció que comenzaría a añadir nuevas características del lenguaje a C# que podrían no aparecer nunca en Visual Basic. El cambio no devuelve a VB al estatus de patito feo, pero le quita parte de su estatus de .NET.

A decir verdad, la tendencia a dejar de lado a VB ha estado ahí durante años. Los desarrolladores serios saben que las partes clave de .NET están escritas en C#. Saben que C# es el lenguaje elegido para presentaciones, libros, cursos y talleres para desarrolladores. Si quieres hablar en VB, no perjudicará a las aplicaciones que construyas, pero podría perjudicar tu capacidad para hablar con otros desarrolladores.

Un lugar donde Visual Basic debería haber tenido un encaje natural es el mercado educativo. Pero incluso ahí sigue siendo una oveja negra. Los lenguajes modernos como C# y Python son ahora lo suficientemente fáciles y seguros para que los principiantes los tomen como su primer lenguaje. Si se necesita algo más sencillo para los niños pequeños, el mercado está repleto de herramientas de programación gráfica como Scratch. Y los lenguajes con corchetes como C#, C, JavaScript y Java también tienen otro atractivo. Como comparten su sintaxis, una persona que aprende uno puede sentirse rápidamente en casa con otro.

Con el desarrollo web, Microsoft se asoma al vacío de una oportunidad perdida. ¿Quién no se sentiría tentado por una versión de VB que fuera tan fácil de usar como VB 6, pero que pudiera compilarse a JavaScript, y que se combinara con un diseñador de formularios HTML? Sí, no sería una herramienta adecuada para construir el próximo Google Maps, pero podría haber resucitado el atractivo de Visual Basic, permitiendo a los desarrolladores de negocios, estudiantes y aficionados crear aplicaciones simples en línea sin la torpeza de JavaScript. En su lugar, Microsoft creó un producto basado en VB llamado LightSwitch que desapareció con la muerte del complemento de navegador Silverlight. Si Microsoft construye otro producto de codificación para las masas, es más probable que sea una herramienta de bajo código impulsada por plantillas como PowerApps.

Visual Basic ha sido amenazado antes. Pero esta vez se siente diferente. Parece que por fin se está poniendo el sol en uno de los lenguajes de programación más populares del mundo. Aunque sea cierto, Visual Basic no desaparecerá en décadas. En cambio, se convertirá en otro producto heredado, una herramienta olvidada sin pasión ni futuro. Si hemos perdido algo especial -o si finalmente hemos sacado a un perro viejo de su miseria- es algo que usted debe decidir.

Categorías: Articles

0 comentarios

Deja una respuesta

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