Ir al contenido

SmallBASIC

De Wikipedia, la enciclopedia libre
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

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 .

Descripción

[editar]

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.

Aplicación prevista

[editar]

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]

Historia

[editar]

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]

Plataformas

[editar]

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 .

Sintaxis

[editar]

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

Módulos cargables

[editar]

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]

Recepción

[editar]
  • Tech Republic lo llama " una excelente herramienta para comenzar a programar". [18]
  • ASCII-World dice " SmallBASIC es una excelente herramienta para las matemáticas " [3]
  • David Mertz, Ph.D. y Andrew Blais, Ph.D. de Gnosis Software, afirman que " SmallBASIC tiene una de las mejores interfaces de desarrollo que hemos analizado".

Véase también

[editar]

Referencias

[editar]
  1. a b c «Learn SmallBASIC in Y Minutes». learnxinyminutes.com. Consultado el 26 de junio de 2025. 
  2. «Browse Files for SmallBASIC» (en inglés). 26 de abril de 2024. Consultado el 23 de mayo de 2024. 
  3. a b c «About SmallBASIC» (en inglés). ASCII-World. 22 de febrero de 1999. Archivado desde el original el 12 November 2007. Consultado el 19 de enero de 2011. 
  4. PalmOS Hosted Programming Languages: Using the Palm as a Development Environment (en inglés)
  5. Freshmeat.net: Editing text on PalmOS using SmallBASIC. (en inglés)
  6. «SourceForge.net Repository - Unix» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  7. «SourceForge.net Repository - DOS-DJGPP» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  8. «SourceForge.net Repository - WIN32» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  9. a b Gordon McComb (2002). Robot builder's sourcebook (en inglés). McGraw-Hill Professional. p. 411. ISBN 0-07-140685-9. Consultado el 19 de enero de 2011. «SmallBASIC.» 
  10. «SourceForge.net Repository - EBM» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  11. «Sigwin/MinG» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  12. «SourceForge.net Repository - Helio» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  13. «SourceForge.net Repository - Android» (en inglés). Smallbasic.svn.sourceforge.net. Consultado el 22 de enero de 2011. 
  14. «SmallBASIC - N770 at» (en inglés). Sourceforge.net. Consultado el 22 de enero de 2011. 
  15. «SmallBASIC plugins». GitHub (en inglés). Consultado el 22 de marzo de 2022. 
  16. «SmallBASIC Home Page» (en inglés). Consultado el 22 de marzo de 2022. 
  17. «SmallBASIC PiGPIO Home Page» (en inglés). Consultado el 22 de marzo de 2022. 
  18. McPherson, James (4 de junio de 2001). «Development in the palm of your hand, part 2». Articles.techrepublic.com.com. Archivado desde el original el 4 de septiembre de 2012. Consultado el 19 de enero de 2011. 

Enlaces externos

[editar]