Robert Hampton

Another visitor! Stay a while… stay forever!

1st May 2014

It’s all geek to me

According to The Register, the BASIC programming language is 50 years old today. Beginners All-purpose Symbolic Instruction Code was designed to be an easy to learn language for the masses. With BASIC, even unskilled programmer could knock up a useful program quickly. It also enabled a generation of bored teenagers to go into Currys on a Saturday afternoon and set the shop display ZX Spectrum to print something rude.

Originally designed by staff at Dartmouth College in the USA, BASIC went on to conquer the world, largely thanks to a small upstart company called Micro-Soft (whatever happened to them?), which ported the language to multiple home computers in the 1980s.

Sample C64 program to play a tune

My first tentative steps in computing were taken using Commodore BASIC. The Commodore 64, like most 8-bit home computers of the era, booted straight into a BASIC prompt. At this point, the typical user hit SHIFT-RUN/STOP (or, if you were posh and had a floppy disc drive, typed LOAD"*",8,1) to load up a game. I, naturally, ventured into BASIC programming, diligently typing in the example programs from the user manual and then, later on, from Commodore Format magazine.

Unfortunately, Commodore BASIC was, to use a technical term, piss-poor. Doing anything remotely interesting (like moving sprites on screen, or playing music) needed arcade POKE and PEEK commands to do anything useful. I was glad to move on to an Acorn A3010 with the far superior BBC BASIC. Not only was it much more powerful, but it was now possible to edit programs in a GUI editor. Cutting and pasting code was a lot easier than faffing around with cursor keys.

BASIC was often derided for encouraging bad programming habits. In particular, early versions of the language often required use of the GOTO statement, which caused execution to jump to another part of the program. Careless use of GOTOs caused programs to become a mass of “spaghetti code”, difficult to understand and debug. I’ve heard it said that anyone moving from BASIC to another programming language first needs to “unlearn” everything they’ve been taught about BASIC. I think that’s true to a certain extent – when I started coding in C, there was a steep learning curve to negotiate.

Still, BASIC lives on, in a much changed form. Over two decades after I first typed in my first PRINT command, I’m studying at the Open University, and currently learning Microsoft Visual Basic. It’s a long way from the 38911 BYTES FREE of the Commodore 64, but the Rem keyword is still in there, and the principle is the same – to allow programmers to produce working applications with the minimum of effort. Microsoft have also produced Small Basic, a simplified version of the language designed to teach children programming.

So, happy birthday, BASIC. If anyone is feeling nostalgic and fancies playing around with BBC BASIC, a Windows port is available.

Tags: ,

One Response
  1. Comment by David Glover-Aoki
    1st May 2014 at 9:55 pm

    You can also run RISC OS Pico on your Raspberry Pi, which boots straight into BASIC.