Verdadero BÁSICO

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

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.

Historia

True BASIC remonta su historia a una rama de Dartmouth BASIC llamada Structured BASIC, o SBASIC para abreviar. Este se lanzó en algún momento de 1975 o 1976, pero no se instaló como la versión principal de BASIC en el Sistema de tiempo compartido de Dartmouth (DTSS) que admitía 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 Minimal BASIC que era similar a las primeras versiones de Dartmouth BASIC, mientras que el trabajo posterior se centró en un Full BASIC que era esencialmente SBASIC con varias extensiones.

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 finalmente se ratificaron, pero vieron poca o ninguna adopción y los estándares se retiraron más tarde. Kemeny y Kurtz, sin embargo, decidieron continuar con sus esfuerzos para introducir los conceptos de SBASIC y los esfuerzos de ANSI Standard BASIC. Esto se convirtió en True BASIC.

Inicialmente basado en Dartmouth BASIC 7, True BASIC se introdujo en 1985. Hay versiones del compilador True BASIC para MS-DOS, Microsoft Windows y Classic Mac OS. En un momento, se ofrecieron versiones para computadoras 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 aún se pueden usar.

True BASIC proporciona sentencias 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 descartado en casi todas las versiones de microcomputadoras de los intérpretes de BASIC. Implementa variables globales y locales que permiten escribir funciones recursivas y subrutinas.

Los diseñadores querían que el lenguaje fuera independiente del hardware, por lo que el código fuente True BASIC funcionaría igual de bien en cualquier versión de su compilador. En su mayor parte, tienen éxito en este esfuerzo. El inconveniente para los usuarios era que el acceso directo a algunas características de sus máquinas no estaba disponible, pero esto podía remediarse con funciones y subrutinas llamables especialmente escritas en lenguaje ensamblador.

Usando versiones más nuevas de True BASIC, algunas de las funciones más antiguas están bloqueadas. Un ejemplo del código reciente sería más como este:

RANDOMIZE
SET WINDOW 0,20,0,20
¡SET COLOR 5! Establecer el lápiz y el color de texto a 5 como verdadero básico tiene 0-15 colores
PRINT "Bienvenido a..."!Imprimir "Bienvenido a..." en la pantalla del usuario.

¡Sí! Comience el bucle
LET x=rnd*20! Que el valor 'x' sea igual a un número aleatorio entre '0' y '20'
¡Vamos! Que el valor 'y' iguale un número aleatorio entre '0' y '20'
Pausa.1 Espera 1/10 de un segundo
PLOT TEXT, en x, y: "¡Fabulosa Wikipedia!" Parcela 'Fabulosa Wikipedia!' en coordenadas 'x' y 'y'
LOOP! Termina el bucle

FIN! 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 interminable que traza "Wikipedia fabulosa!" en coordenadas aleatorias.

Un ejemplo de animación simple podría ser así:

! Dibuja el coche
SET WINDOW 0,20,0,20
SET COLOR 5
BOX AREA 2,6,2,3
BOX AREA 9,13,2,3
BOX AREA 16,20,2,3
SET COLOR 249
LÍNEAS PLOT:0,5;20,5
FLOOD 10,1
BOX KEEP 0,20,0,5 en carretera$
BOX CIRCLE 2,3,5,6
FLOOD 2.5,5.5
BOX CIRCLE 5,6,5,6
FLOOD 5.5,5.5
SET COLOR 35
LÍNEAS PLOT:2.5,6;5.5,6
LÍNEAS PLOT:5,6;8,6;8,6;6,10;2,10;2,8;0,8;0,6;3,6
FLOOD 4,8
SET COLOR 248
BOX AREA 4,5,8,9

BOX KEEP 0,8,5,10 IN car$ !Guardar el coche en 'car$ '

¡Para x=1 a 20 pies! Crear un bucle 'por'
BOX SHOW road$ at 0,0
BOX SHOW car$ at x,5
PAUSE.1
CLEAR
¡Pronto x! Fin del bucle 'por'

FIN! Fin de los programas

Recepción

Jerry Pournelle en 1985 preguntó: '¿Por qué necesitamos True BASIC? [It] no parece hacer nada que BASIC normal no haga, y lo que hace no se ataca de una manera lógica o intuitiva." Criticó la falta de resultados cuando se encontraba con un error, lo que impedía la depuración interactiva mediante la 'inserción de declaraciones de impresión como diagnósticos'. Pournelle concluyó: "Creo que dejaré pasar la oportunidad de convertirme en un creyente de True BASIC nacido de nuevo". Disfrutaré mis herejías de Microsoft y CBASIC."

Algunos usuarios se han quejado de que sus programas y el editor consumen el 100 % de su CPU (o núcleo). Esto parece deberse a que los programas del editor y del usuario usan un bucle que sondea constantemente el teclado y el mouse en busca de eventos. El problema se conoce desde al menos finales de 2010, pero a principios de 2014 todavía se está trabajando.

Contenido relacionado

Problema de correspondencia postal

Clive Sinclair

Irsi

Más resultados...
Tamaño del texto:
Copiar