Basic Programming: GOTO Intertwingularity

Back when I was 12 years old or so, my grandfather bought me my first computer: a Commodore Vic-20.  My joy of programming started back then with the Basic programming language.  (Thank-you Grandpa!  I miss you and Grandma, my "Mamie and Charlie", something fierce.)

Although any programming since (during my post-secondary studies and on-going profession) has remained a solely career-related activity, I've found myself recently interested again in hobby programming and a return to my roots with the Basic programming language.

Since I'm a Chromebook user at home, the following products have really hit the sweet spot for me:

  • Fantaisie Software's SpiderBasic
    • Although I appreciate the simplicity/minimalism of SpiderBasic, I am particularly fascinated by a Basic for the web (i.e. creation of web/iOS/Android applications via a Basic that compiles to javascript)
  • Benoît Minisini's Gambas
    • We could say this is like a "Microsoft Visual Basic" for Linux, but I don't think that does Minisini's Gambas any justice.  This is a "Rapid Application Development" Basic for Linux that works A-1 on Linux(Beta)-enabled Chromebooks.
  • Microsoft's Small Basic
    • Although designed for kids, the kid-like and fun-loving side-of-me appreciates the superbly designed online gem something silly.  Microsoft did a truly wonderful thing with Small Basic. 

All of that aside, I've been having some fun over the past couple of days converting some Vintage Basic source code for "Acey Ducy" to create a SpiderBasic version.

As I studied the original few lines of source code, I found myself bouncing around because of the large number of "GOTO" statements.  Mildly frustrated by the bouncing around but mostly forgiving (familiar territory from my Vic-20 experience of the 80's), I wound up hearing myself saying: man, this is some intertwingled mess.

Lo and behold, my first intertwingularity sighting happened in the 80's as I dealt back then with "GOTO intertwingularity" !

For the $hit$ and the giggle$, I've decided to highlight/diagram the "bouncing around" in the vintage source code, just to show the complexity in understanding the program flow:

Click here to view the full-size Google Drawings document.

I'm sure Ted Nelson never planned on anybody appropriating his terms "intertwingularity" and "intertwingled" for this kind of context.  I hope he and any of his followers forgive me a little bit, because:

I see intertwingularities everywhere,
and they don't know they are intertwingularities ???

No comments: