As of 2025, Basic isn't what it used to be. Fan communities are dying left and right. Developers have slowed down. Even so, of the many dialects created over the decades, some are still commonly available and worth a look.

Bywater Basic

The humble Bywater Basic is a bit of a relic. For one thing, it implements the almost-forgotten ECMA-55 standard, with line numbers and everything. It has a lot of functions in a tiny package and an interactive mode with loading / saving of programs. There's a range of filesystem operations and the ability to run commands like a shell.

Bywater Basic is packaged for FreeBSD, NetBSD and many Linux distributions, but there's no official site or any community. Debian, in typical fashion, packages version 2.20 which has a bunch of issues:

Development continues on Sourceforce. Version 3.30 fixes all the above points and is easily built from source.

Yabasic

Yabasic is the nicest little Basic I never use. It implements a no-frills procedural dialect with only strings, numbers and arrays. The core language is supplemented with cursor control in the terminal, a graphical window with mouse support, foreign function interface and other small but useful things, all in a package no bigger than a few hundred kilobytes. A module system and the ability to bind code with the interpreter into a stand-alone executable make it feasible to develop bigger programs. Inline documentation features also help.

Yabasic has been around for a while. It's packaged for NetBSD, FreeBSD and a bunch of Linux distributions (not all). It's also a one-man-show: there aren't many resources online except for those listed on the official website; mainly just Programming a BASIC Game by Lee Tusman.

Yab

Forked from Yabasic long ago, Yab is the native scripting language of Haiku: it has a complete set of bindings to the operating system's API, especially for graphical user interfaces. There's not much code in the wild, but the optional IDE comes with examples and reference documentation. For learning, one can use the book Programming With Yab, or the new tutorial. Either way, it's not hard to write a fancy "hello, world":

window open 100, 50 to 350, 100, "Top", "Hello, Yab!"
view 0, 0 to 250, 50, "Main", "Top"
button 50, 10 to 200, 40, "Hello", "Say hi", "Main"

dim msg$(1)

do
	nmsg = token(message$, msg$(), "|")
	for i = 1 to nmsg
		switch msg$(i)
			case "Hello"
				alert "Hello, world!", "OK", "info"
				break
			case "_QuitRequested"
			case "Top:_QuitRequested"
				window close "Top"
				exit
		end switch
	next
loop

Several apps made in Yab exist for Haiku, but as the operating system is itself obscure, this is a little-known fact. There's an official forum, but activity petered out after 2024; not sure about the IRC channel.

BaCon

BaCon is one of two Basic dialects available on Haiku, and the only native code compiler on this list. It has some unusual traits, but also useful features that aren't common in Basic, such as dictionaries, delimited strings, a built-in stack and the ability to evaluate mathematical expresions at runtime (from a string). BaCon can even be used to make GUI apps, though it's kind of awkward.

There's comprehensive reference documentation and several example packs, but no guides or tutorials. A small community still hangs around, but it's not very active anymore.

QBJS

QBJS is a browser-based IDE and compiler, that implements a dialect compatible with QBasic and QB64. It can be used to share runnable snippets of code with other people via a link, and/or export stand-alone bundles that include a JavaScript runtime and any assets added to its virtual file system.

As a huge downside, QBJS readily accepts programs that are completely broken and will compile them without errors, generating JS that doesn't run. There's basically no way to debug such a program short of getting lucky.

There's minimal documentation on GitHub, but it's probably better to check out the QB64 wiki and community for help. The two projects seem tightly connected.