Last week I discovered that the BASIC programming language turned fifty years old!

For those who don’t know, BASIC stands for “Beginner’s All-purpose Symbolic Instruction Code” and was created as an easy to read computer programming language to teach to students. It was popular way back in the day, but is widely sneered at by modern programmers. Mostly because it lacks a lot of structure and has the dreaded GOTO command that can create some fun to follow spaghetti code.

I first encountered the language when I got my very first computer, a Commodore VIC-20, way back in grade two or three I think. That would put it about 1982 or so. I remember writing a lot of small, simple programs with it. Mainly simple question and answer programs, but I eventually worked my way up to writing small text adventure programs similar to Scott Adams’ Adventureland and the old Zorkquest games. Back in the day, there were quite a few children’s programming books and I tried them all. There were books with robot themes, monster themes, and even an olympics themed one. I even explored my local library and found some really old programming gems that dealt more with simple databases and really old commands like MAT INPUT that I think were obsolete by the time I discovered them in the mid eighties.

By the late 1980’s I traded up my computer for a TANDY. Basically an IBM clone with a LOT more differences in architecture than would be tolerated today. That meant working with GW-BASIC. Slightly more advanced than the Commodore BASIC I was used to, but not by much. I built a lot of strange little programs in that. Mostly simple little games with crude graphics. Though I did build a little program that could solve the quadratic equations we were talking in my high school math class. It sounds like cheating, but in order to build a program to solve the equations, you have to know to process in solving them pretty well. Turns our parsing parenthetical mathematical equations needs the same skills as parsing two command inputs from my text adventure days.

A bit before graduating high school I upgraded my computer to a 486 PC. Can’t remember the manufacturer. But the programming language bundled with DOS at the time was QBASIC. Say goodbye to line numbers. And hello to SUBS and FUNCTIONS. Finally got some much needed structure to my programs! I even saved up enough money to buy QUICKBASIC so I could compile REAL programs that didn’t need the interpreter. Also meant I could access the mouse and plug myself directly into computer memory and access low level functions of the OS. I managed to build a small and very simple drawing program (that I hoped to use to make graphics for a game I had in mind – never happened) but the best piece of software I never made was an ASNI screen painter program. Winnipeg had quite a large and healthy BBS community before the Internet, and ASNI “graphics” and animations were all the rage. It was never finished, but I did manage to basically generate a complete menu and “GUI” system that was quite modular and could be easily used for any future program I could dream up. I use quotes around GUI as this was all in text mode so there was no real graphics. Worked out quite well as I recall. Too bad the code is lost to history, though I would be hard pressed to find something that could run the source code these days.

I took a little bit of programming in high school. BASIC and then Pascal on the Macintosh. But then it was off to Red River College and Advertising Art. While I sure use the computer quite a bit, I can hardly call myself a programmer any more. Applescript is pretty powerful (and I know it quite well) but the syntax is even crazier than BASIC and pretty verbose for a true programming language. And I just don’t seam to have the time to crack open a book on the various flavours of C that seem to dominate the programming world these days. I figure I’m the only person in the world who calls C# “see-pound” rather than “see-sharp”!

But I am glad I ran into BASIC when I did as a kid. For all it’s quirky flaws, it was a good, simple language to learn and you could actually get it to do work if you wanted to. It wasn’t just for filling the screen with “Hello World” in an endless loop! And it helped shape an otherwise artistic mind towards the analytical, giving me an edge when dealing with programmers.

So happy belated birthday BASIC! Here’s to 50 years, and hopefully 50 more years!

If anyone does know of a modern-ish version of BASIC that’s running around, leave a comment. I’d love to know about it.