BazzBasic is a BASIC interpreter built to work with the .NET10 Framework.
It supports many of the features of BASIC interpreters from the 80s, but also offers something modern.
So far, EkBass has been responsible for the development of BazzBasic.
BazzBasic is released under the open source MIT license.
Its source code is available and visible to everyone in the project's GitHub repository.
Currently, the development work is done in the Windows 11 operating system, but with quite a bit of effort it can also be translated to Linux or MacOS.
Most familiar BASIC features work either completely or almost completely as users of traditional BASIC languages are used to using them.
With or without recursion.
DEF FN factorial$(n$)
IF n$ <= 1 THEN
RETURN 1
END IF
RETURN n$ * FN factorial$(n$ - 1)
END DEF
PRINT FN factorial$(5) ' Output: 120
PRINT FN factorial$(10) ' Output: 3628800BazzBasic offers a reasonable sampling of SDL2 features.
If your program uses graphic features, SDL2.dll must be in the same directory. This does not apply to console-only programs.
BazzBasic includes a sound system built on SDL2_mixer, supporting audio playback with both background and blocking modes.
See Sound Commands
With the INCLUDE function, you can split the source code into different files and folders or generate tokenized libraries.
See Preprocessor or Generating libraries
Unlike many traditional BASIC interpreters, which required strong typing and often separated different data types with suffixes such as $ or %, BazzBasic copes smoothly with untyped data.
Variables automatically hold either numbers or strings:
LET num$ = 42 ' Number
LET text$ = "Hello" ' String
LET mixed$ = "123" ' String (quoted)BazzBasic arrays are fully dynamic and support numeric, string, or mixed indexing.
DIM MyArray$
MyArray$("name") = "John Smith"
MyArray$("age") = 42See Arrays
- Installation
- IDE Usage
- Hello World Tutorial
Currently, BazzBasic requires about 70 megabytes + SDL2.dll
PublishTrimmed=true would reduce its size, but thorough testing is needed first.
BazzBasic includes .NET 10 assemblies during compilation, which affects the file size.
.NET 10, although a bit bulky, still offers compatibility far into the future.,