Skip to content
mBASIC

THE LANGUAGE AND ITS TOOLS

The spirit of BASIC.A modern design.

mBASIC is a programming language built around readable code, straightforward syntax and the freedom to create your own tools. From scripts to structured applications, it brings together a modern language, a dedicated editor and native extensions.

Terminal interfaces, graphics and data: one language, many uses.

Hello, I’m Mobi.

The mBASIC project mascot.

Mobi, the mascot of the mBASIC project

A first program

mBASIC

hello.mba

>_

var message = "Hello, mBASIC!"
? message

Output

Hello, mBASIC!

Straightforward syntax from the very first lines.

Readable

Syntax designed for the code you write and the code you come back to.

Structured

Functions, classes, inheritance and units to organise your programs.

Extensible

Native modules that expand what the language can do.

01 / THE LANGUAGE

Easy to read. Ready to structure.

mBASIC keeps BASIC’s direct approach without trying to reproduce a historical dialect. Its syntax and execution model address practical needs: working with data, organising reusable code and developing interactive applications.

Work directly with your data

Strings, arrays and maps are built into the language. References let you work with existing data without unnecessarily copying whole structures.

Give your project a clear structure

Procedures, functions and units help you organise code. Native classes add inheritance, properties and control over member visibility.

Coordinate interactive work

The compiler produces bytecode that runs on the mBASIC virtual machine. Cooperative tasks, events and timers help coordinate the work of interactive applications.

02 / THE TOOLS

A language that builds its own tools, too.

mBASIC comes with mbEdit and mbTk, both developed in mBASIC itself. They put the language’s capabilities into everyday use.

THE EDITOR

mbEdit

A terminal-based code editor designed for mBASIC. Syntax highlighting, completion, indentation, code folding, multiple cursors and go-to-definition navigation support both writing and understanding programs.

Write, explore and develop your code without leaving the terminal.

TERMINAL INTERFACES

mbTk

A toolkit for building interactive terminal interfaces: widgets, layouts, focus management, keyboard and mouse input, and events. It provides the building blocks for your own text-based tools and applications.

The terminal as a complete user interface, not just a place to print text.

03 / THE EXTENSIONS

Beyond the terminal.

The project’s terminal focus remains a strength, not a limit on the language. Native modules add the capabilities each application needs, without requiring every program to use every dependency.

raylib

Graphics and multimedia

Create windows and graphical applications, draw in 2D and 3D, work with images and use audio.

SQLite · MySQL

Databases

Store and query data with SQLite, or work with a MySQL server, through dedicated modules.

pathlib

Paths and files

Build and inspect paths, browse directories and perform file operations.

clipboard

System clipboard

Exchange text with the system clipboard from an mBASIC program, on supported environments.

Modules are optional. Availability depends on the build and the environment in use.

04 / THE PROJECT

Deliberate choices. Ongoing development.

mBASIC is an independent project born from a practical need: a language that is enjoyable to use when building your own tools. The language, its runtime, mbEdit and mbTk evolve together through real-world use.

It does not aim for source compatibility with GW-BASIC, QBASIC or QuickBASIC. It keeps their approachable spirit while following its own syntax and design choices.

Back to the top ↑