S-BASIC (por Structured Basic) era una variante «estructurada» del BASIC, distribuida con los sistemas Kaypro CP/M.[1][2]​ Fue realizado por Topaz Programming y distribuido por Micro-Ap (San Ramon, CA).[3]

SBasic era compatible con la sintaxis de BASIC, un lenguaje de programación comúnmente utilizado en la década de 1970 hasta la década de 1980, así como con Fortran77. Sin embargo, el lenguaje relajó muchos de los requisitos de BASIC y tenía más flexibilidad que Fortran. Por ejemplo, los números de línea eran opcionales y permitían caracteres no numéricos. Además, SBasic ofreció a los desarrolladores conceptos de programación estructurados, que incluyen recursividad y anidamiento. Muchos programas PL-1 se podían compilar con pocas modificaciones, aunque SBasic no ofrecía una biblioteca de funciones extensa.

Entre las características más avanzadas estaba la capacidad de dar una «base» a una variable o matriz, lo que hace que la ubicación de la memoria sea dinámica y modificable durante la ejecución. Los programas SBasic tenían la capacidad de acceder a áreas de memoria reservadas para el sistema operativo a menos que el propio sistema operativo lo prohibiera (el CP/M de Kaypro no tenía tales prohibiciones). Esto permitió la utilización y modificación directas de DMA y otras áreas de memoria. Esta función también permitía que un programa se modificara a sí mismo en tiempo de ejecución. Esta capacidad también permitió modificar el puntero de instrucción, por lo que un programa podía vincular de manera efectiva otros módulos ejecutables que se leyeron durante la ejecución como datos.

A diferencia de los intérpretes BASIC que almacenaban «código p» que era analizado por un módulo de ejecución, SBasic era un compilador de dos pasos, que en última instancia producía archivos .COM que eran ejecutables. El lenguaje se escribió en un subconjunto de sí mismo y se compiló usando un kernel .com, luego se almacenó en un disquete (o disco duro en el último modelo de KayPro). Los archivos fuente se distribuyeron con algunos modelos de KayPro. Esto alentó la modificación del lenguaje de modo similar al código abierto, y algunos de los primeros grupos de usuarios anteriores a Internet intercambiaron disquetes físicos por correo postal.

No debe confundirse con el lenguaje de programación homónimo SBasic (S por Spectral Basic) para el software comercial Spectral UV-Visible.[4][5]

Recepción

editar

Jerry Pournelle en 1983 escribió que S-BASIC «es bastante agradable», afirmando que «compite con CB-80». Supuso que los usuarios de Kaypro «comenzarán usando Microsoft MBASIC, luego comenzarán a traducir sus programas a S-BASIC y aprenderán más sobre programación estructurada». Pournelle agregó: «Si tuviera que dar un premio por el documento de computadora más ilegible que he visto, el manual original de S-BASIC ganaría sin dudas»; sin embargo, Kaypro lo había reescrito y «es mucho más sensato».[2]

Referencias

editar
  1. «SBASIC?». Archivado desde el original el 8 de diciembre de 2010. Consultado el 16 de abril de 2009. 
  2. a b Pournelle, Jerry (June 1983). «Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem». BYTE 8 (6): 411. Consultado el 20 de octubre de 2013. 
  3. Miller, A.R. (April 1981), «SBasic: A Structured, Compiling Language for CP/M», Interface Age (Cerritos, California: McPheters, Wolfe & Jones) 6 (4): 92-96, 0-71486-02631 04, archivado desde el original el 23 de febrero de 2012, consultado el 21 de mayo de 2009 .
  4. «UV-Visible spectrophotometer - Spectral Software». Archivado desde el original el 11 de julio de 2009. Consultado el 21 de mayo de 2009. 
  5. Paul, Liberatore, Simplifying Routine Analyses using Spectral SBasic Programming Language—Chlorophyll Analysis, GBC Scientific Application Notes—UV-Visible, archivado desde el original el 3 de marzo de 2016, consultado el 13 de julio de 2022 .
Notas

Enlaces externos

editar