Articulo de referencia

SuperBÁSICO

SuperBASIC es una variante avanzada del lenguaje de programación BASIC con numerosas características de programación estructurada . Fue desarrollado en Sinclair Research por Jan...

SuperBASIC es una variante avanzada del lenguaje de programación BASIC con numerosas características de programación estructurada . Fue desarrollado en Sinclair Research por Jan Jones a principios de la década de 1980.

Originalmente, SuperBASIC fue concebido como el intérprete de BASIC para una computadora doméstica con nombre en clave SuperSpectrum , que entonces estaba en desarrollo. Este proyecto fue cancelado posteriormente; sin embargo, SuperBASIC se incluyó más tarde en el firmware ROM de la microcomputadora Sinclair QL (anunciada en enero de 1984), sirviendo también como intérprete de línea de comandos para el sistema operativo QDOS de la QL . [ 1 ] [ 2 ]

Fue uno de los primeros BASIC de segunda generación que se integró en el sistema operativo de un microordenador (a diferencia de BBC BASIC , que lo precedió en 1981), lo que hizo que el sistema operativo fuera extensible por el usuario, como ya lo hizo Linus Torvalds en sus años de formación.

Recepción

En septiembre de 1984, la revista BYTE aprobó las mejoras de SuperBASIC con respecto a Sinclair BASIC , pero criticó su rendimiento "muy, muy lento" en el Byte Sieve , escribiendo que "con un 68008 de 7,5 MHz, uno pensaría que requeriría cierto esfuerzo lograr que un lenguaje se ejecutara tan lentamente". La revista también señaló que la precisión de siete dígitos de SuperBASIC lo hacía inadecuado para uso comercial ("puede representar números mucho mayores que el número de quarks en el universo, pero no los centavos en su balance si su facturación supera las 99 000 libras esterlinas"). [ 3 ]

Funciones avanzadas

  • RESPR para procedimientos de residentes , por ejemplo, para extender QDOS
  • elección de parámetros pasados ​​a los procedimientos
  • Los procedimientos devuelven los parámetros elegidos.
  • IF---THENELSEEND IF
  • FOR---NEXTEXITEND FOR
  • REPeat---NEXTEXITEND REPeat
  • SELect ON---ONREMAINDEREND SELect
  • arbitrariamente RETurndesde dentro de los procedimientos y funciones
  • conversión de tipos de datos entre variables numéricas y de cadena
  • parámetros reales que pasan el tipo de datos a parámetros formales
  • Operaciones con matrices : segmentación, unión, etc.
  • LOCalmatrices y variables (de cadena)
  • AUTOmaticnumeración de líneas
  • relativo RESTORE&DATA

La función que se muestra a continuación ilustra las últimas ocho de estas características. Después de tenerla RUN, al ingresar

 IMPRIMIR días laborables$(Iso("19631122",1))

imprimiráVIEa la pantalla. Hasta que se borre (por ejemplo, introduciendo NEW), la función Iso [ 4 ] actuará como una extensión del sistema operativo. Del mismo modo, según la Guía del usuario de QL, "muchos de los comandos del sistema operativo se definen a su vez como procedimientos". [ 5 ]

Ejemplo

AUTO 11,2 DEFINIR FN Iso(S,O) LOCAL y%,m%,d%,i$,n%,w% REM Paso 0 - para aislar los componentes de la marca de fecha S="AÑOMoDa" SEA y%=S(1TO 4) : m%=S(5TO 6) : d%=S(7TO 8) REM Paso 1 - para iniciar la congruencia de Lachman [ 6 ] SEA i$=m%*2.56+ 193 : S=S(1TO 6)- 3 Paso 2 de REM: calcular el número de día dentro de la semana. SEA w%=(S(1TO 2)&"32"DIV 16+ S(1TO 4)DIV 4+ y%+ i$(2TO 3)+ d%)MOD 7 REM Paso 3 - para devolver el resultado SELECCIONAR ENCENDIDO O EN O= 5 : n%=i$(2TO 3) EN O= 4 : n%=y% EN O= 3 : n%=m% EN O= 2 : n%=d% EN O= 1 : n%=w% EN O= RESTO: n%=-1 FIN SELECCIONAR Devolución n% Declaraciones de datos REM DIM días laborables$(6,3) RESTAURAR 190 PARA count=0 A 6 : LEER días de la semana$(count)

ctrl+space

100 DIM month$ ( 12 , 9 ) 110 RESTORE 120 REM Ejemplo ii de "Restauración de lectura de datos" de la Guía del usuario de QL 130 REM modificado adecuadamente en relación con el ejemplo i 140 FOR count = 1 TO 12 : READ month$ ( count ) 150 DATA "Enero" , "Febrero" , "Marzo" 160 DATA "Abril" , "Mayo" , "Junio" 170 DATA "Julio" , "Agosto" , "Septiembre" 180 DATA "Octubre" , " Noviembre " , "Diciembre" 190 DATA "DOM" , "MON" , "MAR" , "MIÉ" , "JUE" , "VIE " , "SÁB" 199 END DEFine Iso

Bibliografía

  • Donald Alcock: Ilustrando Superbasic en el Sinclair QL. Cambridge University Press, 1985. ISBN 0-521-31517-4
  • Roy Atherton: Buena programación con QL Superbasic. Longman Software, 1984. ISBN 0-582-29662-5
  • AA Berk: QL SuperBasic . Granada Publishing, 1984. ISBN 0-246-12596-9
  • "Ilustrando Superbasic en el Sinclair QL - World of Spectrum" . www.worldofspectrum.org . Consultado el 11 de abril de 2016 .
  • Jan Jones: QL SuperBasic: El manual definitivo . McGraw-Hill, 1984 ISBN 0070847843( Reedición en formato electrónico de 2014)
  • Dick Meadows, Robin Bradbeer, Nigel Searle: Introducción a Superbasic en el Sinclair QL. Hutchinson Computer Publishing, 1984. ISBN 0-09-158951-7
  • Dick Meadows, Robin Bradbeer, Nigel Searle: Cómo sacar el máximo partido a Sinclair QL: QL Superbasic y sus aplicaciones. Hutchinson Computer Publishing, 1985. ISBN 0-09-160561-X
  • Andrew Nelson: Explorando el Sinclair QL: Una introducción a SuperBasic. Interface Publications, 1984. ISBN 0-907563-84-8
  • John K. Wilson: QL Superbasic: Guía del programador. Micro Press, 1984. ISBN 0-7447-0020-5

Referencias

  1. "Ilustrando Super-BASIC en el Sinclair QL" . Historia de la Computación . Consultado el 6 de febrero de 2023 .
  2. Apostolo, Alberto. "Sinclair QL: errores, desgracias y muchos arrepentimientos" . RetroMagazineWorld . Consultado el 6 de febrero de 2023 .
  3. Pountain, Dick (septiembre de 1984). "The Sinclair QL" . BYTE . págs. 415–419 . Recuperado el 10 de abril de 2025 . 
  4. gopher://sdf.org/0/users/retroburrowers/TemporalRetrology/QL/JG
  5. Berry, Stephen (1984). Guía del usuario de QL (2.ª ed.). Cambridge: Sinclair Research Ltd. Archivado del original el 22 de febrero de 2017. 
  6. "Motorola 68000" , Wikipedia , 11 de enero de 2023 , consultado el 6 de febrero de 2023
  • El salto cuántico: ¿hacia dónde?: un capítulo de Sinclair y la tecnología 'Sunrise'.