BBC Basic did a lot of things, and often quite well. During the early 1980s, it extended the BASIC languages with easier loop structures, admire IF/THEN/ELSE, and ran faster than Microsoft’s version. It taught an entire generation of Brits how to code, both in BASIC and, through an inline interpreter, assembly language. And it’s still around to instruct newcomers and anybody else—except it’s now on far, far more platforms than a mail-order computer from the telly.
BBCSDL, or BBC Basic for SDL 2.0, uses Simple DirectMedia Layer’s OS abstraction to make itself available on Windows, x86 Linux, macOS, Raspberry Pi’s OS, Android, iOS, and inside browsers through WebAssembly. Version 1.38a arrived in mid-November with quite a few fixes and niceties (as first noticed by Hackaday and its readers). On the project’s website, you can see BBCSDL running on all these devices, along with a note that on iOS and in browsers, an assembler and a few other functions are not available, due to arbitrary code-execution restrictions.
Richard Russell has been working on ports, interpreters, and other variations of BBC BASIC since 1983, starting with interpreters for Z80 and Intel processors. By 2001, BBC BASIC for Windows was available with a graphical interface and was still compatible with the BBC Micro and Acorn computers from whence it came. BBCSDL has been in development since 2015, providing wider platform offerings while still retaining decent compatibility with BBC BASIC for Windows.
Russell, in an email to Ars, writes that, while there are other implementations of BBC BASIC (such as Matrix Brandy, and his own BBC BASIC for Windows), “certainly it’s my opinion that the cross-platform credentials of BBCSDL are its greatest strength.” No other implementation, Russell notes, “allows you to write a program which will work without modification” on more than a half-dozen platforms. (Russell specifically pointed to BBCSDL’s web version and noted that it will run in most browsers, but not Internet Explorer or embedded browsers, such as in mobile apps.
BBC Basic is still a fairly remarkable language, all these years later. It had 32-bit integers, arbitrary-length variable names, and was remarkably fast. It was also far more tolerant of coding styles and syntax than some modern languages. As noted by a learning coordinator at the UK Museum of Computing, students raised on Python “know how fussy that can be when you do not put your indents in the right place… BBC BASIC does not care as it was designed to be quite tolerant of spacing and it tries to give them sensible error messages.”
BBC BASIC’s development, documentation, and direction were led by Sophie Wilson, who also helped design the BBC Micro, the ARM-reduced instruction set computer (RISC). ARM is, as you may know, a rather important bit of tech in the modern world, and its creation, based in part on the need for keeping BBC Micro compatibility while achieving speed gains, is a tale in its own right.
Listing image by Getty Images