Necesito hacer una confesión. Antes de convertirme en un desarrollador respetable que trabajaba con lenguajes modernos como C # y Java (y el caos hirviente que conocemos como JavaScript), era un entusiasta entusiasta del increíblemente popular y torpe
Visual Basic .
Mi amor fue sincero. De niño aprendí a programar en BASIC. Pero no solo BÁSICO. Comencé con un increíble entorno de Microsoft llamado QuickBASIC en un antiguo sistema operativo DOS. Todavía recuerdo haber escrito texto blanco sobre su fondo azul lleno de vida.
Para la programación en 1988, QuickBASIC fue algo mágico. Era posible escribir código sin números de línea engorrosos, detectar errores de sintaxis durante la escritura y ejecutar programas directamente desde el entorno de desarrollo sin la necesidad de molestarse con la línea de comandos. Una vez finalizado el programa, puedes compartirlo con tus amigos con la ayuda de estos chicos:
Hoy en día, QuickBASIC es solo otro truco del pasado distante. Aunque es asi? Un proyecto innovador llamado
QB64 creó la réplica QuickBASIC de última generación. Se ejecuta en Windows, MacOS y Linux, y no requiere un emulador. Cuando el programa se inicia en QB64, el entorno realiza un truco complicado: primero traduce el código BASIC a C ++ y
luego lo compila.
VB clásico y la era visual
QuickBASIC fue un medio impresionante para los días lejanos de los sistemas informáticos basados en texto. Pero todo eso cambió cuando Microsoft lanzó Windows y sumió a los usuarios de PC en el mundo gráfico de botones y clics. Simultáneamente con el lanzamiento de Microsoft Windows 3.0 (la primera versión que logró un verdadero éxito), se lanzó Visual Basic 1.0.
Era algo completamente nuevo. El usuario podría crear botones para programas,
dibujándolos en la superficie de la ventana, como en el lienzo del artista. Para forzar al botón a realizar alguna acción, fue suficiente hacer doble clic en él en el entorno de desarrollo y escribir el código. Y el código no fue escrito en C ++ críptico con un montón de clases, administración de memoria complicada y oscuras llamadas API de Windows. Usted, como persona civilizada, escribió un código en un VB amigable.
Todos estos dispositivos gráficos fueron impresionantes, pero el verdadero secreto del éxito de VB fue su practicidad. Simplemente no había otra herramienta en la que un desarrollador pudiera esbozar una interfaz completa y comenzar a codificar tan rápido como en VB. Y aunque a los historiadores les encanta especular sobre la parte
visual de Visual Basic, su habilidad inimitable no tenía nada que ver con los widgets gráficos. VB se hizo famoso gracias a la legendaria función de edición y continuación, que permitió a los desarrolladores ejecutar programas, encontrar errores, corregirlos y
continuar trabajando con código nuevo. Esto era muy diferente de casi todos los demás entornos de programación conocidos por la humanidad, lo que obligó a los desarrolladores a compilar el trabajo de nuevo y comenzar de nuevo después de cada cambio.
El Visual Basic original floreció durante aproximadamente una docena de años. Habiendo surgido como un entorno amigable para principiantes, se ha convertido en una herramienta que tiene suficientes características para programadores serios. Para cuando se lanzó VB 6, la última versión del clásico Visual Basic, había aproximadamente diez veces más codificadores VB en el mundo que en el duro C ++ del mundo. Y no solo crearon maquetas de aplicaciones de juguetes. Visual Basic ha llegado a las oficinas de la empresa e incluso a Internet con ASP (Active Server Pages), otra tecnología monstruosamente popular. Gracias a él, podría crear páginas web que puedan comunicarse con los componentes VB, comunicarse con bases de datos y escribir HTML sobre la marcha.
Todo esto sucedió prácticamente sin estructura, a menos que decidiera crearlo usted mismo. Era una regla no escrita en Visual Basic: te daba libertad, de la que luego te arrepentirás.
El problema del clásico VB
En muchos círculos, el VB clásico tenía una mala reputación. Los fanáticos de OOP a menudo se quejaban de que VB carecía de soporte de herencia. (Fue una queja extraña, porque la herencia es a menudo una excelente manera para que los desarrolladores inexpertos se disparen en el pie, esto
no es
lo que VB necesitaba). De hecho, el VB clásico no estaba inclinado a la orientación a objetos. Hacia el final de su vida, ya era compatible con interfaces, polimorfismo y bibliotecas de clases. Todo esto fue tomado de COM, la parte fundamental de la tecnología de componentes, "flasheada" en cada versión de Windows.
El verdadero problema con el VB clásico fue que tuvo
demasiado éxito. Redujo de manera tan efectiva las barreras para los nuevos programadores que casi cualquier persona podría trabajar en él. Los principiantes sin preocupaciones, los empleados cansados de la empresa y los estudiantes resolvieron problemas que habrían sido mucho más complejos en cualquier otra plataforma y colgaron el código de espagueti en todas partes.
En otras palabras, dado que VB era lo suficientemente fácil de usar, incluso si no estudiaste como programador, fue utilizado por muchas personas que
no aprendieron a ser programadores. Y VB no hizo nada para evitar el enraizamiento de sus malos hábitos.
VB.Fred y la plataforma .NET
Avance rápido, en 2002: Microsoft está comprometido con lo que Microsoft hace mejor: destruye su propio ecosistema de desarrolladores al introducir una forma de trabajo completamente nueva.
Esta vez, el proyecto fue un cambio importante en la arquitectura de COM, una tecnología de componentes que admitía Windows (e, indirectamente, VB clásico). Era una tarifa global para una compañía de megalitos que ya había realizado cambios tan riesgosos varias veces.
Microsoft llamó a esto "reiniciar" la plataforma .NET por muchas razones dudosas, incluso porque la tecnología de Internet en ese momento seguía siendo fresca y emocionante, y también porque .NET incluía la función de servicios web que Microsoft firmemente decidido a promocionar. El producto fue creado bajo la fuerte influencia de Java y tenía una gama completa de herramientas para comunicarse con bases de datos, crear sitios web, escribir programas de subprocesos múltiples, establecer conexiones a través de sockets, para casi todas las aplicaciones que los desarrolladores de negocios podrían imaginar.
El único problema fue que para implementar todas estas funciones, Microsoft tuvo que deshacerse de casi todo el VB clásico.
Si entrecierra los ojos, la nueva versión llamada VB.NET se ve casi igual. Pero aparecieron muchos cambios revolucionarios grandes y pequeños. Grande: los viejos programas de VB quedaron atrapados en el mundo de los viejos programas, y el asistente de migración sorprendentemente débil apenas podía solucionarlo. Pequeño: los programadores clásicos de VB tuvieron que acostumbrarse a una nueva forma de contar elementos de la matriz. Ya no podían comenzar en 1, como la gente común. Ahora tenían que comenzar en 0, como programadores oficiales.
Otro cambio importante: no más funciones de edición y continuación.
A los desarrolladores les encanta quejarse, y los desarrolladores de VB son especialmente conocidos por esto. Casi de inmediato, un grupo de influyentes desarrolladores de VB apodaron el nuevo entorno de programación de Microsoft VB.Fred, para enfatizar el hecho de que este nuevo lenguaje no es Visual Basic.
Lo que condenó a muerte a Visual Basic
Puede suponer que los cambios de .NET causaron grietas en la base de VB y condujeron a un declive inevitable. Pero todo fue diferente. De hecho, a pesar de que VB.NET se ha movido en una nueva dirección y ha realizado cambios críticos, convirtiéndolo en un código "huérfano" absolutamente bueno para VB clásico, ha ganado una inmensa popularidad. Esto sucedió debido al hecho de que VB.NET dio algo que los desarrolladores en el VB clásico no podían lograr antes: respeto.
En el mundo .NET, los lenguajes VB y C # tienen el mismo peso. Cada línea de código en VB se puede traducir a una línea de código equivalente en C #, y viceversa. Ambos idiomas tienen las mismas características, usan los mismos componentes y compilan exactamente de la misma forma (en algo llamado
lenguaje intermedio ). VB finalmente se liberó de su síndrome del patito feo.
Pero convertirse en otro lenguaje de programación respetable ha creado un problema. El entusiasmo que hizo del VB el idioma favorito de un grupo tan extenso de personas ha desaparecido. No porque VB haya cambiado, sino porque C # ha cambiado.
Tan pronto como VB obtuvo el mismo poder que C #, C # también adoptó la conveniencia de Visual Basic. Por ejemplo, la presencia de características de seguridad de tipo y administración de memoria .NET significaba que los desarrolladores de C # ya no tenían que preocuparse por las pérdidas de memoria, al igual que los desarrolladores de VB.
En otras palabras, C # ahora tiene una "red de seguridad" que protege a los aficionados, estudiantes y principiantes, y no debilita su poder. De repente, VB dejó de ser algo especial. Se ha convertido en una herramienta más de un conjunto de programadores expertos.
Estado actual de Visual Basic
Hoy, Visual Basic está en un estado extraño. Entre los desarrolladores profesionales, ocupa aproximadamente el 0% de la atención: VB ni siquiera aparece en
encuestas de desarrolladores profesionales o en
los repositorios de GitHub . Sin embargo, todavía está vivo: administra macros de Office, bases de datos de Access antiguas y páginas web ASP antiguas, y también atrae a los recién llegados a .NET. El índice TIOBE, que mide la popularidad de los idiomas por los resultados de búsqueda, todavía coloca a VB en la lista de los
cinco idiomas más discutidos.
Pero parece que la inercia del desarrollo del lenguaje ha llegado a su fin recientemente. En 2017,
Microsoft anunció que comenzaría a agregar nuevas características de lenguaje a C # que podrían no aparecer en Visual Basic. Este cambio no devuelve a VB el estado de un patito feo, pero daña su estado como parte de .NET.
Francamente, la tendencia a empujar a VB a un lado comenzó hace unos años. Los desarrolladores serios saben que las partes clave de .NET están escritas en C #. Saben que C # es el lenguaje preferido para presentaciones, libros, cursos y talleres. Si desea hablar VB, esto no dañará las aplicaciones que cree, pero puede limitar la capacidad de comunicarse con otros desarrolladores.
Uno de los nichos en los que Visual Basic debería sentirse natural es el mercado educativo. Pero incluso allí sigue siendo una oveja negra. Los lenguajes modernos como C # y Python son lo suficientemente simples y seguros como para ser elegidos como el primer idioma que se aprende. Si necesita algo más simple para los niños, entonces el mercado está lleno de herramientas de programación gráfica como Scratch. Los lenguajes entre llaves también son atractivos: C #, C, JavaScript y Java. Tienen una sintaxis similar, y una persona que ha aprendido uno de ellos se sentirá segura con el otro.
En el campo del desarrollo web, Microsoft está buscando el vacío de oportunidades perdidas. ¿A quién no le seduciría una versión de VB que sea tan fácil de usar como VB 6, pero que también sea capaz de compilar en JavaScript y combinarse con un diseñador de formularios HTML? Sí, no creará nuevos Google Maps en una herramienta de este tipo, pero podría revivir el atractivo de Visual Basic al permitir que los desarrolladores de negocios, estudiantes y aficionados creen aplicaciones simples en línea sin la necesidad de engorrosos JavaScript. En cambio, Microsoft creó un producto basado en VB llamado
LightSwitch , que desapareció con la muerte del complemento del navegador Silverlight. Si Microsoft comienza a crear otro producto de clase de "codificación para las masas", lo más probable es que sea una herramienta basada en plantillas con un poco de código como
PowerApps .
Visual Basic solía enfrentar diferentes peligros. Pero esta vez, al parecer, todo es diferente. Parece que el sol realmente se está poniendo para uno de los lenguajes de programación más populares del mundo. Si es cierto, entonces Visual Basic no se desvanecerá durante décadas. Se convertirá en otro producto heredado, una herramienta subestimada sin el amor de los usuarios y el futuro. Ya sea que hayamos perdido algo especial o simplemente hayamos salvado la tecnología atormentada del tormento, depende de usted.