GW-BASIC

De Wikipedia, la enciclopedia libre
(Redirigido desde «GWBasic»)
GW-BASIC
Desarrollador(es)
Microsoft
Información general
Apareció en 1983
Última versión estable 3.23 (1988)
Influido por IBM Cassette BASIC, IBM Disk BASIC, BASICA
Ha influido a QBasic, QuickBASIC, MSX BASIC
Sistema operativo DOS
Licencia Licencia MIT

El GW-BASIC es un dialecto del lenguaje de programación BASIC, originalmente para Compaq, desarrollado por Microsoft a partir de lenguaje BASICA.

Fue liberado en 2020 bajo licencia MIT.[1]

Características destacadas[editar]

Es compatible al BASICA de Microsoft/IBM, pero está basado en disco y no necesita del ROM BASIC del IBM PC, XT y posteriores computadores personales de IBM. Era provisto originalmente en los discos del sistema operativo MS-DOS de Microsoft para los computadores Compatible IBM PC.

Microsoft también vendió un compilador de BASIC, BASCOM, compatible con el GW-BASIC, para los programas que necesitaban más velocidad. El lenguaje era conveniente para juegos simples, programas de negocio y similares. Debido a que fue incluido con la mayoría de las versiones del MS-DOS, también era una manera de bajo costo para que muchos aspirantes a programadores aprendieran los fundamentos de la programación de computadora.[2][3]​ Con el lanzamiento del MS-DOS 5.0, el lugar del GW-BASIC eventualmente fue tomado por el QBasic, una versión reducida del compilador QuickBASIC que estaba disponible por separado.[4]

Sintaxis[editar]

El GW-BASIC tiene un entorno de desarrollo integrado (IDE) tipo línea de comandos basado en el Dartmouth BASIC. También incluye atajos de teclas de función en la parte de abajo de la pantalla. Como otras versiones de BASIC de los primeros microcomputadores, el GW-BASIC careció de muchas de las estructuras necesarias para la programación estructurada tales como variables locales, y los programas de GW-BASIC ejecutaron relativamente lentos, debido al hecho de que era un lenguaje de programación interpretado. Todas las líneas de programa deben ser numeradas; todas las líneas no-numeradas son consideradas como comandos en modo directo para ser ejecutados inmediatamente. Los archivos fuente del programa se guardan normalmente en formato binario comprimido con tokens reemplazando los comandos, con una opción para guardarlos en forma de texto ASCII.[5]

El ambiente de línea de comandos del GW-BASIC tiene comandos para correr, cargar, guardar y listar el programa actual (RUN, LOAD, SAVE, LIST), o para salir al sistema operativo (SYSTEM); estos comandos también pueden ser usados como sentencias del programa. En GW-BASIC hay poco soporte para la programación estructurada. Todas las sentencias condicionales IF/THEN/ELSE deben estar escritas en una línea, aunque las sentencias WHILE/WEND puedan agrupar múltiples líneas. Las funciones solo pueden estar definidas usando una sola línea DEF FNf(x)=<función matemática de x> (ej, DEF FNLOG(base,número)=LOG(número)/LOG(base)). El tipo de datos de las variables puede ser especificado con un carácter al final del nombre la variable: A$ es un string de caracteres, A% es un número entero, etc. Grupos de variables pueden ser fijados a tipos por defecto basados en la letra inicial de su nombre por medio de sentencias DEFINT, DEFSTR, etc. El tipo por defecto para las variables sin declarar no identificadas por tales sentencias de tipo, es el punto flotante de simple precisión.[6]

El GW-BASIC permitió el uso de los dispositivos de entrada joystick, ratón y lápiz óptico de su tiempo. El GW-BASIC puede leer y escribir a archivos y puertos COM; puede también interceptar los eventos de los puertos. Puesto que la interfaz del puerto del casete de la IBM PC original nunca fue implementada en sistemas compatibles, las operaciones del casete no son soportadas. El GW-BASIC puede ejecutar música simple usando la sentencia PLAY, necesitando una cadena de notas representadas en un macro-lenguaje de música (ej. PLAY "edcdeee2dfedc4"). Un control de más bajo nivel es posible con la sentencia SOUND, que toma los argumentos de frecuencia en hertzios y una longitud en impulsos del reloj (clock ticks) para el altavoz interno estándar del PC en las máquinas IBM. Consecuentemente el sonido está limitado a beeps y silbatos de un canal simple como corresponde a una máquina de "negocio". Los PC para el hogar tales como el Tandy 1000 permitieron hasta tres canales de sonido para los comandos SOUND y PLAY.[6]

Nombre[editar]

Hay varias teorías sobre lo que significaban las iniciales "GW". Greg Whitten, empleado temprano de Microsoft, quien desarrolló los estándares en la línea del compilador BASIC de la compañía, dice que Bill Gates escogió el nombre GW-BASIC. Whitten le refiere como Gee-Whiz BASIC y no es seguro si Gates llamara al programa debido a él.[7]​ El Microsoft User Manual de Microsoft Press también lo refiere por este nombre.[cita requerida] También pudo haber sido apodado Gee-Whiz porque tenía una gran cantidad de comandos de gráficos.[7]​ Otras teorías comunes en cuanto a los orígenes de las iniciales incluyen "Graphics and Windows", "Gates, William" (el presidente de Microsoft en ese entonces), o "Gates-Whitten" (los dos diseñadores principales del programa).[8][9]

Referencias[editar]

  1. «Microsoft Open-Sources GW-BASIC». Windows Command Line (en inglés estadounidense). 21 de mayo de 2020. Consultado el 25 de mayo de 2020. 
  2. "KindlyRat". «GW-BASIC». Archivado desde el original el 26 de julio de 2005. Consultado el 10 de noviembre de 2009. 
  3. "Leon". «GWBASIC Games & Other Programs». Archivado desde el original el 26 de octubre de 2009. Consultado el 10 de noviembre de 2009. 
  4. «Microsoft BASIC version information». Consultado el 12 de junio de 2008. 
  5. «GW-BASIC Documentation and Utilities». Archivado desde el original el 17 de diciembre de 2007. 
  6. a b «GW-BASIC User's Guide». 1987. Consultado el 28 de junio de 2008. 
  7. a b Gregory Whitten (13 de abril de 2005). «GW-BASIC». Archivado desde el original el 20 de septiembre de 2008. Consultado el 29 de junio de 2008. 
  8. «Linux Dictionary:G». Consultado el 28 de junio de 2008. 
  9. «GW-BASIC». 13 de abril de 2005. Archivado desde el original el 29 de junio de 2008. Consultado el 28 de junio de 2008. 

Véase también[editar]

Enlaces externos[editar]