I have just spent the weekend doing all sorts of stuff that you won’t be interested in because it’s really boring (moving the main desktop machine, etc.) with News 24 on in the background. About every 4 hours I’ve been treated to Chip or Chop or whatever it is, proclaiming that home computing in the good old days was far better than it is today.
What a load of rancid rhinoceros dung! There is of course an element of truth to it, but in reality home computing back in the 1980s was a continual struggle with limited resources – we often had less than 32Kbytes of memory to play with. Yes that is 32Kbytes not 32Mbytes! The first computer that I was employed to work with had 4,000 times as much memory as the first computer I used; and 2,000 times as much as the one I spent a lot of time writing software for. Of course the machine I am writing this with has no less than 4,000,000 times as much memory as my first machine!
When we look back in time to early home computing, we tend to use nostalgia tinted glasses. In addition to the limits on memory, early home computers had a number of other drawbacks :-
- Graphics were ridiculously bad. If you were lucky you had two colours at 640×256 resolution. If you were unlucky, graphics were made up of special “blobby” text characters that could produce “graphics” of a resolution of something like 80×50!
- The screen was typically a discarded old colour TV … big and fuzzy. Even if you were lucky enough to have a colour monitor, it would usually refresh at a rate guaranteed to produce eyeball frenzy.
- Sound quality was a little below par. You could get computer music – see the Commodore’s SID files – but the likelihood of anything approaching the quality of 128Kbps MP3s just wasn’t going to happen.
- Storage was extremely small in capacity and very slow. If you were lucky you had access to floppy disk drives with around 80Kbytes to 320Kbytes (there were floppy drives with 1Mbytes of storage available but they were not common), and these were slow.
Not that there is anything wrong with nostalgia of course – I run a few software machine emulators to play around with the computers of my childhood. And in one particular sense those old 1980s home computers did have one advantage over modern computers that modern machines do not have.
They were very easy to get trivial results out of.
Fire up a Commodore PET, and less than a second after switching on, it would type “READY?” at you. And it does mean that … it is ready for you to type the commands needed to load a program from tape or disk, or for you to start writing a program. No loading of an operating system; no complex IDE to learn. Just you, the computer and the keyboard.
Despite the primitiveness of the interface, the immediacy of the results is very attractive to new hackers of child age. For instance, a simple program can produce interesting results for a child :-
10 for i = 1 to 1000 20 for j = 1 to 20 30 print tab(j); "Name" 40 next j 50 for j = 20 to 1 step -1 60 print tab(j); "Name" 70 next j 80 next i
Such a simple program produces a snake of your name down the screen; with a few modifications a child can produce more interesting graphics. And many home computers of the time came with far more extensive manuals that would teach BASIC programming.
Whilst BASIC is perhaps an unfortunate language for language purists and probably does teach a few bad habits, it does have one big advantage over more “proper” languages. It is easy to produce simple programs to produce simple results. Of course there is nothing preventing us from creating a better BASIC than the original with enhanced features, but the key is not programming purity, but ease of use and the ability to produce interesting results easily even if that means losing flexibility.