Banner Edicion Impresa

Monitor Software


Feliz 60 cumpleaños, BASIC

Feliz 60 cumpleaños, BASIC
Beginners´ All-purpose Symbolic Instruction Code

Publicación:07-05-2024
++--

Hace unos pocos días el lenguaje de programación BASIC cumplió 60 años.

Como su propio nombre invita a pensar, hablamos de un lenguaje sencillo, de alto nivel, cuya intención era facilitar al máximo la programación a no expertos en la materia. Y aunque tardó algunos años en consolidarse, al final terminó escribiendo una indiscutible historia de éxito cuya influencia aún resuena en la actualidad, de manera más o menos directa.

La razón por la que su nombre se escribe en mayúsculas es que se trata de una sigla, la de Beginners´ All-purpose Symbolic Instruction Code, es decir, un código de instrucción (lenguaje de programación) multipropósito para principiantes, lo que define el propósito original de John Kemeny y Thomas Kurtz, creadores de Dartmouth BASIC, la primera versión de este lenguaje, que es la que vio la luz en el Dartmouth College hace 60 años.

Por aquellos entonces, lo común eran los lenguajes de programación de bajo nivel, y creo que antes de seguir repasando la historia de BASIC es importante aclarar la diferencia entre lenguajes de programación de alto y de bajo nivel, pues una mala interpretación puede dar lugar a una percepción tremendamente errónea. En una versión excepcionalmente reducida, en esto consiste cada uno de ambos paradigmas:

-Lenguaje de programación de bajo nivel: sus instrucciones son las propias del procesador para el que se está programando, lo que hace que resulten más complejos.

-Lenguaje de programación de alto nivel: introduce capas de abstracción entre la máquina y el código y proporciona unos comandos y una sintaxis más cercana a la del habla occidental (generalmente al inglés), lo que facilita su aprendizaje e interpretación.

Por si te lo estás preguntando, sí, también existen los lenguajes de programación de medio nivel, con C como su máximo exponente, y se distinguen por ser de alto nivel, pero permitir también el uso de instrucciones de bajo nivel, propias del procesador para el que se está programando.

¡Hola Mundo!

Para que se entienda mejor la diferencia, hay un ejercicio común para los aprendices a la hora de aprender un nuevo lenguaje de programación. Es un ejercicio bastante sencillo, pues consiste en hacer que se muestre en pantalla el texto «Hello, World!» (¡Hola Mundo!). Así, vamos a ver la diferencia entre tres lenguajes de programación, uno de bajo nivel (ensamblador), uno de alto nivel de complejidad media-alta (C) y uno de alto nivel especialmente diseñado para principiantes (BASIC).

Hello, World! en ensamblador

org 0x100

mov dx, msg

mov ah, 9

int 0x21

mov ah, 0x4c

int 0x21

msg db 'Hello, World!', 0x0d, 0x0a, '$'

Fuente (se ha editado para eliminar los comentarios).

Hello, World! en C

#include <stdio.h>

int main() {

printf("Hello, World!");

return 0;

}

Fuente (se ha editado para eliminar los comentarios).

Hello, World! en BASIC

PRINT "Hello, World!"

Los lenguajes de alto nivel no son mejores que los de bajo nivel, y tampoco a la inversa, cada tipo tiene sus puntos fuertes y débiles, por lo que la elección de uno u otro tipo debe circunscribirse, siempre, a lo que resulte mejor para cada proyecto. Ahora bien, como habrás podido deducir viendo este sencillo ejemplo, sin duda BASIC se merece su nombre.

Como indicaba al principio, la primera versión de este lenguaje de programación se creó en Darmouth en la década de los sesenta, con el fin de acercar la programación (y, por lo tanto, el uso de los recursos informáticos) a todas las personas con interés-necesidad de hacer uso de la capacidad de cómputo de aquellos primeros sistemas informáticos, pero que no tenían los conocimientos necesarios para hacerlo empleando un lenguaje de programación diseñado, principalmente, por y para ingenieros.

Esta primera versión llegó en el momento indicado, a las puertas de la eclosión de la microinformática, que vivió su mejor momento entre finales de los sesenta y las décadas de los setenta y los ochenta, tiempos de los que ya te hemos hablado en anteriores ocasiones. Recientemente recordábamos el Z80, uno de los mejores y más queridos y recordados procesadores de la historia, y lo cierto es que si hablamos de la informática de finales de los setenta y de los ochenta, BASIC y Z80 caminaron de la mano de manera habitual.

Tener un ordenador en los 80 era sinónimo, para muchos, de aprender BASIC, pues el sistema operativo de muchos de aquellos ordenadores, incluidos los inolvidables ZX,  nos ofrecía una interfaz basada en este lenguaje de programación. ¿Recuerdas (si es que lo viviste, claro), comandos como Load, Save, CLS, Print, etcétera? Pues todos ellos eran propios de las implementaciones de BASIC para cada uno de aquellos ordenadores. En la siguiente imagen puedes comprobarlo:

Las cuatro imágenes están tomadas de emuladores online de dichos sistemas. A continuación, por si has sentido la llamada de la nostalgia, puedes encontrar los enlaces:

-ZX Spectrum 128 +2

-Amstrad CPC 6128

-Commodore 64

-MSX

Así, aunque el uso más común de estos sistemas operativos era emplear el comando indicado para iniciar la carga de algún juego, la curiosidad nos empujó a muchos a revisar el manual del ordenador y encontrar, en el mismo, una guía introductoria a la programación en BASIC. No digo que fueran tiempos mejores ni peores, pero sí que marcaron, para muchos, el principio de una afición-pasión que, en no pocos casos, perdura hasta hoy.

Microsoft y BASIC

Recordábamos, con motivo del fallecimiento de Vangelis, que Bill Gates y Paul Allen fundaron Microsoft en abril de 1975, y nació con un primer objetivo comercial, desarrollar y comercializar un intérprete de BASIC para el Altair 8800, el ordenador doméstico que dio, en 1974, el gran pistoletazo de salida a la expansión de la microinformática. Allen y Gates fueron muy conscientes de lo que estaba ocurriendo, y de la necesidad de un lenguaje de programación para aquel dispositivo revolucionario, así que rápidamente se pusieron manos a la obra y, antes incluso de haberse constituido como empresa, ya tenían listo su primer producto, Altair BASIC, que a su vez sería también el primero de una familia más amplia, Microsoft BASIC.

En aquellos primeros tiempos Microsoft se especializó en intérpretes y compiladores de lenguajes de programación, prestando también atención a COBOL y a Fortran, y no sería hasta 1979 que ampliaron el abanico para dedicarse también a los sistemas operativos. Pero, por entonces, la compañía ya era internacional (en 1978 abrieron su primera oficina internacional, en Japón), lo que nos da una clara idea de lo acertada que fue la apuesta de los fundadores por la emergente microinformática y los lenguajes de programación en dicha plataforma.

En muchos de los ordenadores del primer lustro de los ochenta (como los Spectrum, Amstrad, Commodore y MSX que he mencionado anteriormente) integraban el sistema operativo en una memoria de solo lectura (ROM), es decir, que no era necesario instalar un sistema operativo o recurrir a una unidad externa para cargarlo y, de ese modo, poder emplear el ordenador, así que la gran base del éxito inicial de Microsoft fue, precisamente, la negociación para licenciar sus intérpretes de BASIC con los fabricantes de dichos equipos.

Paralelamente, en Microsoft también habían puesto el objetivo en los sistemas operativos (mercado en el que, de facto, ya se encontraban con esas implementaciones de BASIC que actuaban a modo de OS). El primer paso firme en este sentido fue XENIX, una variante de UNIX que lanzaron al mercado en 1979, pero su primer gran éxito en este campo, de la mano de IBM, fue MS-DOS (en aquel momento DOS), un clon del entonces muy popular CP/M (diseñado inicialmente para el Z80). Un movimiento que se completó (y cerró el círculo) con el lanzamiento de GW-BASIC en medio de aquella efervescencia, en 1983.

Presente y futuro de BASIC

La luz de BASIC empezaba a extinguirse a finales de los ochenta, por lo que todo apuntaba a que sus días estaban contados. Sin embargo, Microsoft seguía apostando por él a principios de los 90. En este sentido creó QBASIC como evolución de GW-BASIC, y también lo readaptó por completo al nuevo paradigma de las interfaces gráficas y de la programación orientada a eventos (aunque, durante un tiempo, Microsoft afirmaba que estaba orientado a objetos) con Visual Basic. En sus primeras versiones, el código era bastante semejante al de BASIC, pero en versiones posteriores se fue diferenciando, una divergencia que tocó techo en su última versión, Visual Basic 6, de 1998.

Su siguiente paso evolutivo fue Visual Basic .NET (ahora VB .NET), vigente en la actualidad (se integra en Microsoft Visual Studio y adapta a su precursor al framework .NET de los de Redmond) y que, si bien no se encuentra entre los lenguajes de programación más utilizados y demandados, sigue siendo una buena herramienta para quienes buscan un lenguaje de programación sencillo y polivalente.

Pero no solo de Microsoft vive el usuario de BASIC. Aunque en la actualidad su uso ya es francamente minoritario, aún podemos encontrar proyectos que lo mantienen actualizado. El más destacable es, sin duda, GAMBAS (Gambas Almost Means BASic), disponible para una gran cantidad de distribuciones de Linux y que toma muchos de los elementos de este lenguaje de programación, pero los adapta a paradigmas más recientes, como la programación orientada a objetos, y suma herramientas prácticas, como la compilación en tiempo real.



« Especial »