¿Era BASIC tan horrible o mejor?

El legado de BASIC divide opiniones entre quienes lo ven como una reliquia tosca que fomentaba el código espagueti y quienes le atribuyen haber abierto la puerta a la programación para toda una generación. Los comentaristas señalan que los primeros BASIC de 8 bits eran deliberadamente mínimos, cabiendo en unos pocos kilobytes de RAM y funcionando a la vez como sistema operativo, shell y herramienta de enseñanza, mientras que dialectos posteriores como QBasic, VB y GFA BASIC añadieron estructura, funciones e incluso capacidades GUI. Muchos sostienen que, pese a sus defectos técnicos, la inmediatez de BASIC, su baja carga conceptual y su ciclo de retroalimentación tan corto siguen estando en gran medida sin igual por los puntos de entrada modernos como Python, JavaScript, Scratch o herramientas visuales, y que sus “malos hábitos” se desaprenden fácilmente una vez que los aprendices avanzan.

Amplitud de los dialectos de BASIC

  • Los comentaristas subrayan que “BASIC” es una gran familia: desde pequeños intérpretes ROM de 4–8K con números de línea hasta dialectos estructurados, modulares e incluso orientados a objetos (p. ej., QBasic, VB, Rocky Mountain BASIC, GFA BASIC).
  • Esta diversidad hace engañosos los juicios absolutos (“BASIC es horrible” o “BASIC es genial”); las experiencias difieren mucho según la plataforma y la época.

Puerta de entrada a la informática

  • Muchos recuerdan BASIC como su primer lenguaje en ordenadores domésticos de 8 bits que arrancaban directamente en un prompt READY.
  • La barrera de entrada extremadamente baja (sin paso de compilación, sin IDE, retroalimentación instantánea, manuales impresos y listados de revistas) se considera su mayor logro.
  • Personas no programadoras (niños, contables, operarios de planta) construyeron sistemas útiles e incluso pequeñas empresas con BASIC y más tarde Visual Basic / VBA.

Simplicidad frente a estructura

  • Sus defensores elogian el conjunto mínimo de conceptos de BASIC: variables, PRINT, IF, bucles, GOTO/GOSUB; los gráficos sencillos y la entrada de teclas facilitaban hacer juegos y programas visuales.
  • Los críticos informan que las bases de código BASIC más grandes (especialmente con variables globales, GOTO, números de línea, sin funciones/procedimientos reales) se vuelven frágiles y difíciles de mantener.
  • Algunos sostienen que los “malos hábitos” como el flujo no estructurado son perjudiciales; otros dicen que son una fase natural de aprendizaje y que después hacen que los lenguajes estructurados parezcan claramente superiores.

Dijkstra, GOTO y diseño de lenguajes

  • La famosa crítica a BASIC y GOTO se debate:
    • Un bando señala el contexto histórico: las bases de código tempranas de Fortran/BASIC usaban cantidades enormes de GOTO y eran difíciles de razonar; Dijkstra quería construcciones de nivel superior.
    • Otros argumentan que su postura se sobregeneralizó hasta convertirse en “BASIC arruina permanentemente a los programadores”, lo cual no coincide con su experiencia.
  • Varios señalan que incluso en sistemas modernos, un uso limitado de construcciones tipo GOTO puede ser práctico, pero los lenguajes deberían orientar a los principiantes hacia patrones más seguros.

Entorno y “cercanía a la máquina”

  • BASIC en máquinas de 8 bits también hacía de sistema operativo, shell, lenguaje de scripts y herramienta de enseñanza; los usuarios podían usar PEEK/POKE sobre el hardware y sentir que “poseían” la máquina.
  • Este entorno estrecho, sin distracciones y preparado para gráficos y sonido se contrasta con los smartphones y PCs actuales, donde programar está oculto tras pilas complejas.

Sucesores y alternativas modernos

  • Entre los candidatos mencionados como “BASIC modernos”: Python, JavaScript (especialmente en navegadores), Scratch, Pico‑8, Godot/GDScript, MicroPython/CircuitPython, Gambas, Xojo, etc.
  • Muchos sienten que ninguno replica por completo la combinación de ubicuidad, inmediatez y simplicidad que ofrecía BASIC en los años 80.