True BASIC es una variante del lenguaje de programación BASIC descendiente de Dartmouth BASIC , el BASIC original. Ambos fueron creados por los profesores universitarios John G. Kemeny y Thomas E. Kurtz .
Diseñada por | John G. Kemeny Thomas E. Kurtz |
---|---|
Desarrollador | True BASIC, Inc. |
Apareció por primera vez | 1983 |
Sitio web | www |
Influenciado por | |
BÁSICO |
Historia
True BASIC remonta su historia a una rama de Dartmouth BASIC llamada Structured BASIC, o SBASIC para abreviar. Este fue lanzado en algún momento de 1975 o 1976, pero no se instaló como la versión principal de BASIC en el Dartmouth Time Sharing System (DTSS) que soportaba el campus. Poco después, Kemeny se involucró en un esfuerzo por producir un estándar ANSI BASIC en un intento de reunir las muchas pequeñas variaciones del lenguaje que se habían desarrollado a finales de la década de 1960 y principios de la de 1970. Este esfuerzo se centró inicialmente en un sistema conocido como "BÁSICO Mínimo" que era similar al BASIC de Dartmouth temprano pero con variables de cadena agregadas, mientras que el trabajo posterior se dirigió a un "BÁSICO Estándar" que era esencialmente SBASIC.
A principios de la década de 1980, decenas de millones de computadoras domésticas ejecutaban alguna variación de Microsoft BASIC , que se había convertido en el estándar de facto . Los esfuerzos de ANSI finalmente se volvieron inútiles, ya que quedó claro que estas versiones no iban a tener ningún impacto en el mercado en un mundo dominado por MS. Ambas versiones fueron finalmente ratificadas, pero tuvieron poca o ninguna adopción y las normas fueron retiradas más tarde. Sin embargo, Kemeny y Kurtz decidieron continuar sus esfuerzos para introducir los conceptos de SBASIC y los esfuerzos del Estándar ANSI BASIC. Esto se convirtió en True BASIC.
Inicialmente basado en Dartmouth BASIC 7, también conocido como ANSI BASIC, True BASIC se introdujo en 1985. Existen versiones del compilador True BASIC para MS-DOS , Microsoft Windows y Classic Mac OS . En un momento, se ofrecieron versiones para TRS-80 Color Computer , Amiga y Atari ST , así como un compilador de línea de comandos UNIX .
Características
Al ser una implementación de programación estructurada del lenguaje, prescinde de la necesidad de números de línea y declaraciones GOTO , aunque todavía se pueden usar.
True BASIC proporciona declaraciones para la aritmética matricial, una característica que había estado presente en Dartmouth BASIC desde los primeros tiempos, pero que se había eliminado en casi todas las versiones de microcomputadoras de los intérpretes de BASIC. Soporta variables globales y locales, lo que permite escribir funciones y subrutinas recursivas .
Los diseñadores querían hacer que el lenguaje fuera independiente del hardware, para permitir que el código fuente True BASIC se ejecutara igualmente bien en cualquier versión de su compilador. [ cita requerida ] En su mayor parte, tienen éxito en este esfuerzo. El inconveniente para los usuarios era que el acceso directo a algunas funciones de sus máquinas no estaba disponible, pero esto podría remediarse con funciones y subrutinas invocables escritas especialmente en lenguaje ensamblador .
Al usar versiones más recientes de True BASIC, algunas de las funciones más antiguas están bloqueadas. Un ejemplo del código reciente sería más parecido a este:
ALEATORIZARCONFIGURAR VENTANA 0,20,0,20SET COLOR 5! Establece el lápiz y el color del texto en 5 ya que el verdadero básico tiene 0-15 coloresIMPRIMIR "Bienvenido a ..." Imprima "Bienvenido a ..." en la pantalla del usuario.HACER! Comienza el ciclo DEJE x = rnd * 20! Sea el valor 'x' igual a un número aleatorio entre '0' y '20' ¡DEJE y = rnd * 20! Sea el valor 'y' igual a un número aleatorio entre '0' y '20' Pausa .1! Espera 1/10 de segundo PLOT TEXT, en x, y: "¡Wikipedia fabulosa!" ! Traza 'Wikipedia fabulosa!' en las coordenadas 'x' e 'y'¡LOOP! Fin del cicloFIN! Fin del programa
Este sencillo programa traza el texto "Bienvenido a ..." en la esquina superior izquierda de la pantalla, y luego continúa en un bucle sin fin que traza "¡Wikipedia fabulosa!" en coordenadas aleatorias.
Un ejemplo de animación simple podría ser así:
! Dibuja el cocheCONFIGURAR VENTANA 0,20,0,20CONFIGURAR COLOR 5AREA DE CAJA 2,6,2,3AREA DE CAJA 9,13,2,3AREA DE CAJA 16,20,2,3CONFIGURAR COLOR 249LÍNEAS DE PARCELA: 0,5; 20,5INUNDACIÓN 10,1CAJA GUARDAR 0,20,0,5 EN carretera $CÍRCULO DE CAJA 2,3,5,6INUNDACIONES 2.5,5.5CÍRCULO DE CAJA 5,6,5,6INUNDACIONES 5.5,5.5CONFIGURAR COLOR 35LÍNEAS DE PARCELA: 2.5,6; 5.5,6LÍNEAS DE PARCELA: 5,6; 8,6; 8,8; 6,8; 6,10; 2,10; 2,8; 0,8; 0,6; 3,6INUNDACIÓN 4,8CONFIGURAR COLOR 248AREA DE CAJA 4,5,8,9BOX KEEP 0,8,5,10 IN car $! Guarde el automóvil en 'car $' PARA x = 1 A 20 PASO 1! Cree un bucle 'for' BOX SHOW carretera $ EN 0,0 BOX SHOW coche $ AT x, 5 PAUSA .1 CLAROSIGUIENTE x! Fin del ciclo 'for'FIN! Fin de los programas
Recepción
Jerry Pournelle en 1985 preguntó: "¿Por qué necesitamos True BASIC en absoluto? Parece que no hace nada que el BASIC normal no haga, y lo que hace no es atacado de una manera lógica o intuitiva". Criticó la falta de salida cuando se encuentra un error, evitando la depuración interactiva al " insertar declaraciones de impresión como diagnósticos ". Pournelle concluyó: "Creo que dejaré pasar la oportunidad de convertirme en un verdadero creyente de BASIC nacido de nuevo. Disfrutaré de mis herejías de Microsoft y CBASIC ". [1]
Algunos usuarios se han quejado de que sus programas y el editor consumen el 100% de su CPU (o núcleo). [2] [3] [4] [5] Esto parece deberse a que el editor y los programas del usuario utilizan un bucle que sondea constantemente el teclado y el mouse en busca de eventos. El problema se conoce desde al menos finales de 2010, [2] pero a principios de 2014 todavía se está trabajando. [5]
Otras lecturas
- Kemeny, John G .; Kurtz, Thomas E. (1985). Back to BASIC: La historia, la corrupción y el futuro del lenguaje . Addison-Wesley Publishing Company, Inc. 141 págs. ISBN 0-201-13433-0 .
Referencias
- ^ Pournelle, Jerry (septiembre de 1985). "PC, periféricos, programas y personas" . BYTE . pag. 347 . Consultado el 20 de marzo de 2016 .
- ^ a b "Uso de CPU" . Foro de soporte True BASIC 31 de diciembre de 2010 . Consultado el 26 de julio de 2014 .
- ^ "Uso de CPU al 100%" . Foro de soporte True BASIC 22 de agosto de 2012 . Consultado el 26 de julio de 2014 .
- ^ "Uso de CPU" . Foro de soporte True BASIC 24 de septiembre de 2013 . Consultado el 26 de julio de 2014 .
- ^ a b "Algunos errores más del editor" . Respuesta del Foro de soporte True BASIC 18 de febrero de 2014 . Consultado el 26 de julio de 2014 .
enlaces externos
- Página web oficial