El pasado primero de mayo de 2024 se cumplieron 60 años de la creación de BASIC. Un lenguaje que fundó imperios, fue menospreciado por muchos y enseñó a programar a toda una generación. O dos.
BASIC es un acrónimo de “Beginner´s All-purpose Symbolic Instruction Code” (o “Código simbólico de instrucciones de propósito general para principiantes”), un conveniente juego de palabras, nunca más representativo y tal vez algo forzado, para designar un lenguaje que fue desarrollado para enseñar programación a los alumnos que no estuvieran relacionados necesariamente con las ciencias de la computación es decir, al resto de nosotros.
Nació en el Dartmouth College de la mano de John G. Kemeny y Thomas E. Kurtz y últimamente acreditando también como co-desarrrolladora a Mary Kenneth Keller quién fue una monja que tuvo el merito de ser la primera mujer en acceder al departamento de informática de esa institución (1958) y la primera también en obtener un doctorado en ciencias informáticas otorgado en los Estados Unidos (1965).
Estuvo inspirado en los lenguajes FORTRAN II y Algol 60. Pero el objetivo era hacerlo relativamente simple al punto que las “instrucciones” son simples palabras en Inglés y operaciones aritméticas de uso común.
Según Kurtz, la idea era simplificar el lenguaje lo suficiente para que casi no fuera necesario memorizar estructuras, llevándolo al lenguaje común donde los significados fueran casi obvios. “¿No es mas simple usar HELLO y GOODBYE que LOGON y LOGOFF?”, decía. Un ejemplo es que lo que en un bucle en FORTRAN se expresaría como “DO 100, I = 1, 10, 2
” en BASIC se convierte a “FOR I=1 TO 10 STEP 2
“, resultando en una sentencia (u “oración”) más explicita y fácil de recordar y entender.
La estructura de un programa de BASIC tradicional consiste en una secuencia de instrucciones, una por línea, siendo estas numeradas para ordenar la secuencia. Tradicionalmente y como una buena costumbre, esta numeración se hace de 10 en 10 para simplificar el agregado de líneas intermedias posteriormente sin tener que re numerar todo o parte del programa. Las instrucciones de un programa BASIC pueden reducirse a un mínimo de cinco:
LET
, para asignar una valor a una variable (LET A=2
)ç
INPUT
, para recibir información del usuario (INPUT "Ingrese su edad", A
)
PRINT
, para imprimir información (PRINT "Tienes " + A + " años."
)
IF ... THEN
, para tomar decisiones y ejecutar otra instrucción según si una condición es verdadera o falsa (IF A > 18 THEN LET M=1
)
GOTO
, para saltar a alguna parte del programa (GOTO 10
)
Sin embargo los dialectos de BASIC incluyen otras instrucciones que simplifican tareas (como por ejemplo el FOR …. NEXT para bucles citado más arriba), siendo algunas estándar y otras de las mas diversas, incluso dependientes de las características del hardware en el cual esta implementada cierta versión del lenguaje. En la versión original, por ejemplo, se implementan catorce instrucciones.
La gran explosión de BASIC se debió a la versión que Microsoft desarrolla para la Altair 8800.
A mediados de los años 70 con la aparición de los microprocesadores comienzan a aparecer los kits de desarrollo que se vendían a desarrolladores, estudiantes, y sobre todo a hobbistas. En 1974 MITS una empresa con sede en Albuquerque, Nuevo México (EEUU) desarrolla uno de estos kits basado en el procesador 8080 de Intel, el cual es tapa de la Popular Electronics de enero de 1974. Se populariza tanto que para la fecha de su lanzamiento en enero de 1975, se venden 2000 unidades en un solo mes.
En una ingeniosa jugada Bill Gates y Paul Allen escriben una carta a Ed Roberts, presidente y fundador de MITS preguntándole si estaría interesado en una versión de BASIC para la maquina. El membrete de la carta era de Traf-O-Data una empresa que ambos por entonces jóvenes (junto con Paul Gilbert) habían fundado en 1972. Roberts estuvo encantado con la idea, y Gates y Allen escribieron una versión del interprete BASIC para un microprocesadores de 8 bits, lo cual llevo a que en 1975 fundaran Microsoft que fue, durante la ultima década de los 70’s una empresa especializada en lenguajes de computación.
A partir de 1977, con la aparición de las primeras computadoras personales, muchas desarrollaron su propia versión de BASIC aunque una gran mayoría utilizó la versión de Microsoft. Lo importante de esto es que BASIC entró a los hogares y a las oficinas (recordar que la primer PC de IBM de 1981 también tenía BASIC en ROM) como la interfaz estándar para comunicarse con una computadora, teniendo un entorno completo de programación listo y funcionando con solo presionar el switch de encendido. Era común que uno hiciera cursos de BASIC, así como también los programas para copiar y tipear que se difundían en revistas y libros. Estuvo presente incluso en calculadoras científicas, y consolas de juegos desde la Atari VCS en adelante.
BASIC fue evolucionando a medida que las computadoras se volvieron mas potentes. Las números de linea desaparecieron, se volvió primero más estructurado, luego aparecieron versiones que implementan paradigmas como la Programación Orientada a Objetos, u Orientada a Eventos como Visual Basic, que en su momento de mayor difusión fue una de las herramientas mas utilizadas para el desarrollo de software.
¿Pero qué paso con BASIC?
Las computadoras personales fueron desapareciendo lentamente y la interfaz de BASIC dejó lugar a los escritorios de los distintos sistemas operativos modernos. Por un lado ya no era tan accesible programar y por otro lado la tecnología avanzo con nuevos lenguajes de programación que quizás fueron más apropiados para resolver ciertos problemas que fueron surgiendo, como por ejemplo la programación web, donde aparecieron herramientas específicas.
Pero también se empezaron a escuchar críticas que cuestionaron a BASIC como herramienta de enseñanza moderna. Algunos autores profesaban que quién aprendía a programar en BASIC arrastraba una serie de vicios que luego se hacían difícil de erradicar en sistemas de desarrollo más modernos.
Sin embargo es imposible negar el peso que tuvo BASIC. Por su simpleza, su potencia, y su casi omnipresencia quienes hoy tenemos entre 40 y 50 seguro dimos nuestros primeros pasos ahí. Incluso muchos lo hemos utilizado como herramienta no solo en el ámbito educativo u hogareño.
Un dato curioso es que BASIC se implementó por primera vez en una computadora General Electric (GE-225, aunque luego fue reemplazada por un modelo superior) que se compró específicamente para este proyecto. Esta era una mainframe que permitía la conexión simultánea de varios usuarios. Lo anecdótico es que esta familia de computadoras fue diseñada por Chuck Prosper y Arnold Spilberg. Si les suena el apellido, sí, es el padre de Steven, que si bien según relatos de Arnold nunca estuvo interesado en la informática, terminó siendo pionero en la integración de ambas “ciencias/artes”: pensemos en Jurassic Park… pero esta, es otra historia.
Para quienes estén interesados en saber más, además de Wikipedia, en una fecha como esta pero 10 años atrás, la revista Time publicó un excelente artículo sobre los 50 años de este hermoso lenguaje que muchos llevamos en el corazón: https://time.com/69316/basic