- The project begins as KidBASIC, created by Ian Paul Larsen — a small, friendly BASIC aimed at teaching children and beginners to program without the jargon of "grown-up" languages.
The story of BASIC-256
A simple, graphical BASIC built to teach anyone to program — from a schoolroom tool called KidBASIC in 2006 to the modern, open-source, run-anywhere language it is today.
What BASIC-256 is
BASIC-256 is an easy-to-use version of the BASIC programming language, written for people who are new to programming and for anyone who wants it to stay fun: students meeting it for the first time, teachers looking for something that will run on every machine in the room, hobbyists coming back to a language they once knew, and the merely curious. Its clear syntax and built-in graphics, sound and text give immediate visual feedback — type a few lines, run them, and watch something happen on screen. That loop between writing code and seeing the result is what has kept it in classrooms and on home computers for twenty years.
print writes to the text pane, text draws on the graphics pane, and say speaks aloud. Click to enlarge.A short history
- KidBASIC is renamed BASIC-256 (also written Basic-256 / BASIC256) as the language grows beyond its original scope while keeping the same beginner-first spirit.
- James M. Reneau, Ph.D. becomes the project's lead developer and maintainer, hosting it on SourceForge and greatly expanding the language — custom graphics, sound and music, sprites, arrays, files, databases and networking.
- Built in C++ with the Qt framework, BASIC-256 becomes genuinely cross-platform, running on Windows, Linux and macOS.
- Reneau writes a free companion textbook, So You Want to Learn to Program?, so anyone can learn the language from the ground up — see the book page.
- The classic SourceForge line reaches its last release there, 2.0.0.11, and later slows down — leaving a mature, much-loved language in need of modernizing.
- The project is picked up and continued on GitHub, taking the
2.0.99.10.2branch as its starting point. - Modernized to Qt6 + CMake with GitHub Actions CI and an automated test suite, plus builds for Windows, Linux, Raspberry Pi and macOS (Apple Silicon).
- A new WebAssembly build brings the full editor and interpreter to the browser — no install needed — and a new documentation site replaces the old online help.
- Read the details on the release notes page.
- Programs run 20–25% faster, arrays take about half the memory, and the old limit of around 5,000 lines on a program is gone.
- Vector and matrix maths join the language:
DOT,CROSS,NORMandUNIT, and aMATstatement that multiplies, adds, inverts and transposes. WINDOWsets a coordinate system of your own — centred, or the right way up like graph paper — and drawing accepts fractional coordinates.FRAMERATEkeeps animations at a steady speed on any machine, andNOISEgives smooth OpenSimplex noise for terrain, clouds and paths.- A turtle graphics module arrives for drawing by moving and turning, the way Logo did it.
- A program now asks before it touches files outside its own folder, so a program from someone else cannot quietly reach the rest of the computer.
- The Text Output window becomes a real character screen with
LOCATE,TEXTCOLORandTEXTSCREEN, the way the home computers of the eighties worked. - New in the language:
SORTandARRAYADDfor arrays,HSVcolours, andNOISEin three dimensions for moving clouds, water and fire. - A GUI toolkit module draws buttons, checkboxes, sliders, tabs and text fields on the graphics window, and every module routine gets a prefix of its own.
- The IDE follows the system's dark mode, and saving is safer: example programs can no longer be overwritten by accident.
Dates and attributions are drawn from the project's public history; the modern work from v2.1 on is documented in the repository's README and ChangeLog.
Want to learn the language?
Reneau's free textbook teaches BASIC-256 from the ground up, chapter by chapter.