Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

A 50 años del lenguaje BASIC

Hacemos una breve revisión de 14 implementaciones históricas de BASIC

En estas fechas se cumplen 50 años de la creación del lenguaje BASIC, el cual finalmente fue la primera implementación de un lenguaje de alto nivel para microcomputadoras, lo que lo hizo sumamente popular. He aquí algunas de las versiones más importantes de este lenguaje, para diversas plataformas en donde curiosamente, Microsoft tuvo mucho que ver en la mayoría de los casos.

Dartmouth BASIC
John Kemeny y Thomas Kurtz

Ésta fue la implementación original del BASIC, creada en Dartmouth College, buscando ser una alternativa de lenguaje de programación más simple que Algol o Fortran. Este BASIC era compilado y fue el primero que se usó en el DTSS (Dartmouth Time Sharing System), que permitía a muchas personas usar simultáneamente el sistema usando terminales tontas.

HP BASIC OpenVMS
Digital Equipment Corporation

Esta fue la última implementación de HP BASIC para OpenVMS. Fue creado originalmente como BASIC-PLUS para sus computadoras de 16 bits, las famosas PDP-11. De ahí se transformó en BASIC Plus 2 y cuando llegó la línea VAX en 1977, se cambió su nombre por VAX BASIC. Poco tiempo después este volvió a rebautizarse como DEC BASIC cuando se portó el lenguaje a DEC Alpha a principios de los 1990s. En 1998 Compaq compró DEC y el BASIC se rebautizó entonces como Compaq BASIC para OpenVMS. Pero en el 2002 HP compró a Compaq y entonces terminó por llamarse HP BASIC.

Altair BASIC
Bill Gates y Paul Allen

Este fue el primer producto creado por Microsoft y el inicio de lo que se llamaría Microsoft BASIC. Bill Gates con Paul Allen y con el programador Monte Davidoff, crearon el intérprete de BASIC para la nueva MITS Altair 8800, una computadora personal de 8 bits muy poco potente. La versión original tenia rutinas para matemáticas de punto flotante (poco usual en ese entonces). El sistema tuvo mucho éxito que empezó a copiarse entre los aficionados a esta plataforma. Esto desencadenó una famosa carta contra la piratería escrita por el mismísimo Bill Gates en su momento, Circa 1975.

Tiny BASIC
Dennis Allison

En respuesta a la carta de Gates sobre el robo de su Altair BASIC, Dennis Allison, de la Universidad de Stanford, publicó una especificación libre y gratuita de una versión de BASIC a la que llamo Tiny BASIC. Esta implementación era un subconjunto del BASIC original pero cabía en 2 a 3 Kbytes de memoria. En 1975 Allison y Bob Albrecht lanzaron la revista Dr. Dobbs Journal y publicaron entonces el código de este pequeño intérprete.

Go, el lenguaje más popular de 2016

Integer BASIC
Steve Wozniak

El creador de la Apple II creó la primera versión de BASIC para el microprocesador 6502 cuando escribió el llamado Integer BASIC, el cual se usó en el modelo I y II de su popular computadora casera. Wozniak usó como referencia el manual de HP BASIC como guía. Su intención era hacer un lenguaje simple para crear juegos, de ahí que él lo llamara Game BASIC originalmente. De hecho usó su implementación parea escribir en la Apple su versión de Breakout de Atari (que a todo esto, Wozniak ayudó a crear). Integer BASIC no tenía soporte para matemáticas de punto flotante pero era mucho más rápido por esta misma razón.

Applesoft BASIC
Marc McDonald y Ric Weiland

Apple necesitaba -además del Integer BASIC- una versión de BASIC que tuviese matemáticas de punto flotante. Wozniak entonces comenzó a modificar su BASIC pero eventualmente la compañía pensó que era más rápido licenciar la versión de BASIC de Microsoft para el procesador MOS 6502. A esta versión se le llamó Applesoft BASIC. Tenía operaciones de punto flotante, arreglos multidimensionales y funciones definidas por el usuario, pero todo esto lo hacía más lento que su contraparte del Integer BASIC.

Commodore BASIC
Microsoft/Commodore

Commodore BASIC fue creado en la PET (Persona Electronic Transactor) en 1977, por lo que se le conoce también como PET BASIC. Se basa en el BASIC de Microsoft para 6502 por el cual Commodore hizo un pago una sola vez por el sistema. Commodore hizo una serie de modificaciones, por ejemplo, cambiando el “prompt” de “OK” por “Ready” y quitó las referencias de derechos de autor de Microsoft. Cuando Commodore pagó por una versión actualizada del BASIC de Microsoft, la empresa de Gates insertó el famoso “huevo de pascua” WAIT 6502. Commodore BASIC corría en la Vic-20 y en la Commodore 64 e incluso en la Commodore 128.

Atari BASIC
Paul Langhton y Kathleen O’Brien

Atari BASIC fue creado para las primeras computadoras Atari, los modelos de 8 bits 400 y 800. De nuevo fue una versión licenciada de Microsoft BASIC para 6502. Sin embargo, la modificaron para que cupiese en 8 Kbytes. Para ello contrataron a Shepardson Microsystems, en donde Paul Langhton y Kathleen O’Brien desarrollaron un nuevo BASIC desde cero, el cual era muy diferente a la versión original de Microsoft, por ejemplo, permitiendo que todos los comandos se ejecutaran en modo inmediato o desde algún programa, y checando cada línea para errores de sintaxis como si fuese una entrada de datos, en lugar de hacer esto en tiempo de ejecución.

Los lenguajes de programación más demandados en 2016

Sinclair BASIC
John Grant

esta implementación se escribió para la Sinclair Z80, la primera computadora que costaba menos de 2300 dólares, aquella que tenía un teclado de membrana incluso para abaratar costos. Sinclair contrató a Tiles Network para escribir el software de la Z80 incluyendo un nuevo intérprete de BASIC evitando así pagarle a Microsoft por el suyo. John Grant creó el Sinclair BASIC basado en el estándar mínimo ANSI.

IBM BASIC
Microsoft/IBM

Primera versión para la computadora personal de IBM, la PC, en 1981, en donde IBM licenció el BASIC de Microsoft (además del sistema operativo, el MsDOS). Originalmente había tres versiones diferentes de BASIC: IBM Cassette BASIC (para modelos sin unidades de diskettes), IBM Disk BASIC (que usaba los diskettes para guardar los programas y los datos) y IBM Advanced BASIC (aka BASICA), que requería el Cassette BASIC en ROM para correr. En 1984 IBm sacó el PCjr Cartridge BASIC, una versión que corría insertando un cartucho en la IBM PCjr.

MacBASIC
Donn Denman

Cuando Apple desarrolló la primera Mac decidió que necesitaba al menos un intérprete de BASIC. Don Denman, quien ayudó a portar el Applesoft BASIC de la Apple II a la Apple III, creó una nueva implementación de BASIC que sacaba ventaja de la interfaz gráfica de la Mac y que podía correr varios programas de forma simultánea. Llamado MacBASIC, éste incluía un entorno integrado de desarrollo. Y aunque la versión beta se lanzó en 1985, MacBASIC fue sustituido por Microsoft BASIC como parte de un trato entre Apple y Microsoft para renovar la licencia de Applesoft BASIC ese mismo año.

Amiga BASIC
Microsoft

Amiga BASIC fue creado por Microsoft para el AmigaOS en 1985 y se incluyó en la computadora Amiga 1000. Incluía un API para acceder al sonido y las gráficas de esta versátil computadora. Fue la primera implementación de BASIC que abandonó el número de línea y también la primera vez que se podían hacer llamadas a funciones del sistema operativo a través de llamadas a la biblioteca dinámica.

¿Qué lenguaje de programación aprender?

Visual Basic
Microsoft

Creado en 1991 intentando ser una nueva herramienta para crear aplicaciones para la interfaz gráfica Windows. Visual Basic era fácil de aprender y usaba un generador gráfico de la interfaz llamado Ruby, desarrollado por Alan Cooper y su equipo en Tripod. Hubo hasta la versión 6.0, la cual fue eventualmente sustituida por Visual Basic.NET, que mantiene la misma sintaxis del lenguaje pero que requiere el entorno .NET para correr.

Small Basic
Microsoft

Creado en el 2011 por Microsoft, busca ser simple, divertido, social y gradual. Tiene una interfaz simple y se busca se use para que los chicos aprendan a programar. Se basa en el entorno .NET, es Turing Completo, y soporta los elementos fundamentales de todo BASIC. usa solamente 14 palabras claves pero es lo suficientemente versátil para poderse compartir de manera social el código. Vamos, está diseñado como una introducción a la programación actual.

Referencias: IT World 

Comentarios