SmallBASIC es un dialecto del lenguaje de programación BASIC con intérpretes publicado como software libre bajo la Licencia Pública General GNU versión 3 para Microsoft Windows, Linux y Android .
SmallBASIC | ||
---|---|---|
![]() | ||
Desarrollador(es) | ||
Nicholas Christopoulos - Chris Warren-Smith [1] | ||
Información general | ||
Última versión estable | 12.27 (Windows/Linux/Android)[2] | |
Influido por | QBasic | |
Licencia | GPL 3 | |
El dialecto es descrito por los autores como un BASIC de segunda generación, y tiene mucho en común con QBasic. SmallBASIC incluye funciones trigonométricas, matriciales y de álgebra, un IDE incorporado, una biblioteca de cadenas, comandos de sistema, sonido y gráficos, junto con una sintaxis de programación estructurada.
El prefijo «Small» ( pequeño en inglés ) en el nombre SmallBASIC refleja la intención original del proyecto de ser utilizado con la Palm, un pequeño dispositivo portátil. SmallBASIC se diseñó para ser portátil y está escrito en C con módulos independientes que contienen el código exclusivo de cada plataforma. [3]
SmallBASIC está pensado para soportar el mismo tipo de aplicaciones soportadas por GW-BASIC y QBasic en el IBM PC, con soporte para dibujar primitivas gráficas en la pantalla, crear sonidos, manipulación de cadenas, y mostrar texto en varias fuentes. SmallBASIC también añade funciones como «Guardar archivo», «Guardar como», «Cerrar archivo» y «Abrir archivo» a la Palm, un dispositivo sin sistema de archivos nativo. SmallBASIC también está pensado como una herramienta para las matemáticas, con funciones incorporadas para la conversión de unidades, álgebra, matemáticas matriciales, trigonometría, estadística, y para la representación gráfica de ecuaciones en dos y tres dimensiones. [3] [4]
SmallBASIC fue creado originalmente por Nicholas Christopoulos en 1999 para ejecutarse en hardware mínimo.[1] Una de las principales plataformas compatibles fue Palm OS,[5] donde la memoria, los ciclos de CPU y el espacio de la pantalla eran limitados. El motor de gráficos SmallBASIC podía utilizar gráficos ASCII (similares al arte ASCII ) y, por lo tanto, ejecutaba muchos programas en dispositivos de texto puro. SmallBASIC funciona incluso en relojes de pulsera Palm OS fabricados por Fossil, Inc. A partir del año 2005 el proyecto ha sido continuado por Chris Warren-Smith.[1]
SmallBASIC está disponible para todos los sistemas operativos compatibles con POSIX (incluidos Linux, BSD y UNIX ), [6] DOS / DJGPP, [7] Win32, [8] FLTK, [9] VTOS, [9] Franklin eBookMan, [10] Cygwin / MingW, [11] Helio/VT-OS, [12] Android,[13] la tableta de Internet Nokia N770. ,[14] y en cualquier sistema que admita SDL, FLTK, SVGALib, Linux framebuffer o Windows GUI .
La sintaxis de SmallBASIC tiene mucho en común con la de QBasic. Los números de línea no son necesarios y las sentencias se terminan con nuevas líneas. Se pueden escribir múltiples sentencias en una sola línea separando cada sentencia con dos puntos (:)
Un ejemplo de programa "¡Hola, mundo!" es:
PRINT "¡Hola Mundo!"
Un ejemplo de cómo SmallBASIC permite cargar un archivo de imagen y mostrar la imagen:
I = IMAGE("image_name.png") 'Carga un archivo en formato PNG
I.SHOW(100,100) 'muestra la imagen en pantalla en la coordenada 100x100
Se pueden escribir módulos externos en C para ampliar la funcionalidad proporcionada por SmallBASIC. [15] Desde la versión 12.20 se incluyen en el lanzamiento módulos para Raylib, Nuklear y WebSockets . [16] Además existe un módulo que permite acceder al conector GPIO de la Raspberry Pi.[17]