SmallBASIC

SmallBASIC is a BASIC programming language dialect with interpreters released as free software under the GNU General Public License version 2.

SmallBASIC
Stable release
0.12.12 (Windows/Linux/Android)[1] / February 4, 2018 (2018-02-04)[1]
Implementation languageBASIC
LicenseGPL 2
Filename extensions.bas
Websitesf.net/projects/smallbasic

Description

The dialect is described by the authors as a second generation BASIC, and has a lot in common with QBasic. It is a structured BASIC, and contains the most advanced math functions and operators found on graphing calculators such as matrices and Gauss-Jordan method.

Intended application

The "Small" prefix in the name SmallBASIC reflects the project's original intention of being used with the Palm, a small hand-held device. SmallBASIC was designed for portability, and is written in C with separate modules containing any code that is unique to a particular platform.[2][3]

SmallBASIC is intended to support the same sorts of applications supported by GW-BASIC and QBasic on the IBM PC, with support for drawing Graphic Primitives to the screen, creating sounds, String Manipulation, and displaying text in various fonts. SmallBASIC also adds functions such as "File Save", "Save As", "Close File", and "Open File" to the Palm, a device with no native filesystem. SmallBASIC is also intended as a tool for mathematics, with built-in functions for Unit conversion, Algebra, Matrix math, Trigonometry, Statistics, and for two and three dimensional Equation Graphing.[2][3]

Other programming languages for Palm OS that are written in SmallBASIC include Exclamation and Brainfuck.[4]

Platforms

SmallBASIC was designed to run on minimal hardware. One of the primary platforms supported is Palm OS,[5] where memory, CPU cycles, and screen space are limited. The SmallBASIC graphics engine can use ASCII graphics (similar to ASCII art) and therefore run many programs on pure text devices. SmallBASIC runs even on Palm OS wristwatches made by Fossil, Inc.

It is available for all POSIX-Compliant operating systems (including Linux, BSD, and UNIX),[6] DOS/DJGPP,[7] Win32,[8] FLTK,[9] VTOS,[9] Franklin eBookMan,[10] Cygwin/MingW,[11] Helio/VT-OS,[12] Android,[13] the Nokia N770 Internet Tablet.,[14] and on any system that supports SDL, FLTK, SVGALib, Linux framebuffer, or Windows GUI.

Reception

  • Tech Republic calls it "an excellent tool to begin programming with."[15]
  • ASCII-World says "SmallBASIC is an excellent tool for mathematics"[2]
  • David Mertz, Ph.D. and Andrew Blais, Ph.D. of Gnosis Software say "SmallBASIC has one of the better development interfaces [we have] reviewed. "[3]
gollark: osmarkslibc™ `malloc`:```c#include <stdint.h>#include <stddef.h>static uintptr_t MEMPOS = 1;void* malloc(size_t size) { uintptr_t bees = MEMPOS; MEMPOS += size; return (void*)bees;}void free(void* ptr) { *(char**)ptr = "hello please do not use this address";}```
gollark: I hope you were not malloced using my implementation.
gollark: ++delete all operating system development
gollark: > strings prefixed by the length are bad because you cant take a subset of the string by just adding an offset to the pointer and have it be a valid stringWait, you can't really do that anyway with null-terminated ones if you want a subset of fixed length.
gollark: You shouldn't do that. That would possibly cause so many memory issues.

See also

References

  1. "Browse Files for SmallBASIC". SourceForge.net. 30 December 2008. Retrieved 2 July 2009.
  2. "About SmallBASIC". ASCII-World. 22 February 1999. Archived from the original on 12 November 2007. Retrieved 19 January 2011.
  3. PalmOS Hosted Programming Languages: Using the Palm as a Development Environment
  4. "Esoteric Language Mailing List". Retrieved 19 January 2011.
  5. Freshmeat.net: Editing text on PalmOS using SmallBASIC.
  6. "SourceForge.net Repository - Unix". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  7. "SourceForge.net Repository - DOS-DJGPP". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  8. "SourceForge.net Repository - WIN32". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  9. Gordon McComb (2002). Robot builder's sourcebook. McGraw-Hill Professional. p. 411. ISBN 0-07-140685-9. Retrieved 19 January 2011. SmallBASIC.
  10. "SourceForge.net Repository - EBM". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  11. "Sigwin/MinG". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  12. "SourceForge.net Repository - Helio". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  13. "SourceForge.net Repository - Android". Smallbasic.svn.sourceforge.net. Retrieved 2011-01-22.
  14. "SmallBASIC - N770 at". Sourceforge.net. Retrieved 2011-01-22.
  15. McPherson, James (4 June 2001). "Development in the palm of your hand, part 2". Articles.techrepublic.com.com. Archived from the original on 4 September 2012. Retrieved 19 January 2011.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.