Updating The Single Most Influential Book of the BASIC Era

I know not everyone here is a Jeff superfan, but this seems like a neat little project.

From the blog post:

To encourage new contributions, by the end of 2022, for every functioning program submitted in each of the 8 indicated languages, I’ll donate $5 to Girls Who Code .

Here’s the project page:

4 Likes

A neat idea. I’m not a big fan of the target language choices (I’m somewhat cantankerous about which compilers & interpreters I’ll allow on my precious 'puters, sorry), although JavaScript (+HTML) could potentially make the games available to anyone with a web browser.

Jeff links to an example of a game ported to MS SmallBasic. Microsoft, please leave BASIC alone! Haven’t you people maimed it badly enough already?

2 Likes

Rewriting them in Javascript or Ruby or C# or whatever really loses the point.

Free BASIC or even Free Pascal, maybe, I could see. That’s still close to the roots in spirit at least. But those others, nah.

One of the things that really sets those old programs apart is that in those days you didn’t need tons of runtime libraries, compilers and linkers, build chain package managers, IDEs, dependency managers, virtual machines, and all that other stuff.

Back then, you just entered the program and ran it. And your program had full control of everything. That’s a big part of what made it so awesome.

Redoing it in heavy modern languages just won’t capture that at all.

3 Likes

I dunno… perl and python are pretty easy to use and interpreted, and you don’t need much supporting infrastructure unless you decide to do something complex that would be better with added modules (at which point, you’d be kind of violating the spirit of the exercise). Javascript’s not bad once you have a setup to actually run it.

The others can be stepping stones, and having the same program written in multiple languages is a good way to learn what changes and what stays the same as you get into an IDE and compilation.

The project does make me a bit nostalgic… my entry into programming was typing in BASIC programs from Family Computing Magazine, and then starting to write my own until I started hitting a wall in speed and upgraded to a *cough*pirated*cough* copy of Borland C.

4 Likes

I think it could also be useful to have multiple versions of the same program in the same language, to demonstrate, for example, the impact a well known library can have on the solution.

Also likely out of scope but useful would be to implement unit tests (although that could be somewhat difficult given the RNG nature of some of the programs) and CI/CD pipelines to demonstrate those concepts. Learning to program is just one of the skills of software development. I hope that modern CS/IS coursework takes these other facets into account.

4 Likes

If people want the full experience of the 8-bit days, free and/or open source BASIC interpreters are available for many platforms. On Windows, these range from small one-file executables like Blassic, Chipmunk BASIC (Mac versions also available), and Bywater BASIC, to larger, multi-file set ups.

Some of these are more-or-less compatible with particular versions of classic ROM BASICs so, just like in the old days, getting the programs to run is part of the experience.

3 Likes

I seem to remember either multiplication or division not being available in the BASIC I started on back in the day. Boy, will that cause some stumbling blocks…

3 Likes

First attempt at running the original BASIC Super Star Trek running on an emulated TRS-80 Model III…

StarTrek

5 Likes

From back when computers were such a new and obscure thing that NBC and Paramount and whoever didn’t bother to enforce their trademarks against fan coders :ringer_planet:

3 Likes