Back to BASIC(s)
2025-07-14

A common issue with my hobby projects is that I leave them undone. And indeed, most of my R projects die on the vine after I flesh-out a working draft. But how do I derail? I distract myself with ways to include more and more packages and libraries. I’ve been questioning whether my projects need more built-in limitations.

I spent a few hours over the last little while learning about MMBasic, a BASIC interpreter by Geoff Graham. I’ve flashed a port of MMBasic (i.e. PicoMite) to create a self-contained boot-to-basic computer. There are at least four reasons this interpreter appeals to me:

  1. Few barriers to (re)entry. I don’t program in my professional role, so there are long gaps in time where I will not use a computer. I benefit from being greeted by a command prompt on power up, as I’m easily discouraged when a rare evening of programming is spent updating packages, logging-in to portals, or panels, etc.
  2. BASIC was designed for beginners (it’s in the name!), and as someone who is self-taught, and has little interest in any sort of advanced competency in programming, this simplicity appeals. I’m aware of the long-history of criticisms of BASIC, but I don’t need to learn to do good programming.
  3. MMBasic removes some of the temptation to bloat my project with external packages and libraries. Despite a lack of external tools, the base language has many features, and has excellent documentation.
  4. While there may be fewer tools to polish my projects (a helpful limitation, I think), there’s a wealth of freely-available project ideas in the form of archived type-in programs. Given that these programs were necessary small given the hardware limitations of the time, they make for short, manageable projects.

And that final reason hints at where I’m going. l’ll tackle adapting a few type-in programs over the next few weeks. Watch this space.

10 Print "Hello World!"
20 Goto 10