There was a blog post earlier this week from Nicolas Bize praising the benefits of teaching BASIC to his son. Specifically, he was speaking of QBasic as the preferred way to teach his son to program. It got me thinking about BASIC, as this was also the language I learned to program on.

Here we are, 30 years later, and MIT’s Scratch is the preferred method of teaching programming. And Scratch is marvelous. It doesn’t have any of the “crutch” features of a BASIC: no line numbers, no gotos, and it handles variables in a sane way.

(Related: Free Code Camp finds out that adults want to learn programming too)

I actually run a non-profit which teaches kids how to write games in Scratch. In those classes, I’ve seen that Scratch can do amazing things to bridge the gaps between theory and use, especially in the area of mathematics. My favorite quote from one of our more than 500 students was, “Oh, so that’s why we learned all that X Y line stuff in math class!” This was a student’s response to learning how to track the movement of a sprite across the screen.

But there’s something I genuinely miss about BASIC: It was terribly simple, and when I learned it on an Apple II and later, and Atari ST 520, it was an elucidating experience. I feel like BASIC not only taught programming, but also basic debugging.

When your BASIC program breaks, you have to step through the code looking for your error, usually a mistyped word or misplaced quote. For languages like Scratch, this is a much more detached process: An error there often means a building block hasn’t been dragged into place, or a number is missing in a field.

There’s just one problem with Bize’s piece on QBasic: Who the heck wants to use DOS? I mean, it’s nostalgic and neat and all that, but it’s also ancient and crusty. I think we can do with a better BASIC for our kids, today, don’t you?

Therefore, I have taken it upon myself to find a whole slew of links for you related to modern BASICs, old BASICs, and generally for finding ways for people to use this wonderful language to teach the kids in their lives, all without having to touch DOSBox. Big thanks to Archive.org for some great stuff here.

Just BASIC: Free BASIC implementation

BASIC-256

Introduction to the Visual Basic Programming Language

Quite BASIC! BASIC in a browser.

Learn TRS-80 BASIC

Learn BASIC Programming on the Sinclair ZX Spectrum! In the browser, no less!

A guided tour of computer programming in BASIC, 1973

Applesoft BASIC Programming Reference Manual, 1978

Not really BASIC, but it teaches kids the basics of a computer and the keyboard… The Friendly Computer for Apple II running in your browser!