Notes on a story

Debunking The Story of BASIC

The author has decided to “educate” people on the history of BASIC. Unsurprisingly, this account is peppered with his own bias and some ridiculous leaps of faith which appear to be based on no actual exposure to the BASIC dialects being discussed but, because it’s an unwieldy block of text to begin with, we’ll only deal with some of the more glaring errors and omissions rather than pick the entire thing to pieces.

First of all, I’d like to start this article by pointing out that various people enjoyed using the Commodore 64 to play games on and nothing else. In other words, they were using it solely as a games console.

And, whilst that may well be true, every other 8-bit home computer was in exactly the same boat. The majority of Spectrum, Amstrad and Atari users used their computers to play games and didn’t try to learn programming or productivity software.

But the C64 was one of the machines from that era more frequently used for non-gaming purposes; this is why it had a fully functioning graphical user interface in the late 1980s, a solid library of productivity software even before then including word processors, spreadsheets or databases, a significant number of hardware add-ons for serious use like mice, modems, RAM expansions, large capacity disk drives or printers (with Commodore producing several examples themselves and the third parties churning out either pre-configured devices or interfaces for existing kit) and, along with users in the USA using their C64s to communicate with others locally and later nationally via the strong BBS community, C64 owners had access to the early attempts at online services such as Compunet in the UK and Quantum Link in the USA and Canada – readers may be aware of the latter under it’s current name AOL.

The problem is that it was marketed as a computer with similar capabilities to other computers of the time. This description is wrong!

Looking up the word “computer” in a dictionary usually finds something along the lines of “an electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations” (source: dictionary.reference.com) and there’s absolutely nothing required by that definition that isn’t present in the C64. That makes it a computer regardless of the author’s biased personal opinion.

There were various complaints about Commodore BASIC V2 and I personally remember reading claims such as only about 50,000 Commodore 64 owners understanding how to program the Commodore 64 using its on board BASIC V2, as well as a very critical letter by a Commodore 64 owner to Commodore or ICPUG (Independent Commodore Products User Group) putting down Commodore BASIC V2 and praising BBC BASIC.

That 50,000 user figure is of course total and utter guesswork since nobody was conducting surveys or keeping tabs on what people were doing with home computers once they were behind closed doors; your correspondent was, by 1983, reasonably competent with Commodore BASIC V2 but doesn’t remember being consulted by anybody about it for this statistic. The figure isn’t even offered with any context, is that meant to be 50,000 users in the UK where it would’ve been a fairly significant percentage of C64 owners for the early years of the machine’s lifespan or worldwide? And without knowing how that figure compared to other machines, it means absolutely nothing.

During the 1980s, nobody sensible actually expected every single home computer user to learn BASIC programming any more than they expected every child who conned their parents into buying them a computer to “help with their homework” would actually use the computer for GCSE English. Mass market computers could do all manner of things and people used them for whatever they wanted to do – as often as not those uses weren’t about programming, nobody has ever needed knowledge of BASIC to use a word processor, balance their cheque books or use a modem.

In the early days of computing (i.e. the 1940s to 1950s, although computers existed long before that), computers were programmed in unbelievably complicated ways, such as by making connections with cables at the back of a computer. This was somehow a program. After that, things moved on to Machine Code and Assembly Language. FORTRAN, then later on BASIC, were seen as big leaps forward at the time.

It’s doubtful that many people at the time considered BASIC to be a “big leap forward”; it was meant to simplify the use of computers for those who didn’t want to learn programming and the trade off for that relative ease of use is that a lot of the computer’s power is lost to the interpreter. That hasn’t changed; using interpreted high level languages like GML will still not produce programs as fast as those written in compiled ones like C++.

Real Programmers Don’t Use Pascal (originally written in 1983 by a commercial programmer and published in Datamation) notes that “If you can’t do it in Fortran, do it in assembly language. If you can’t do it in assembly language, it isn’t worth doing” with an addendum adding that real programmers “don’t write in BASIC. Actually, no programmers write in BASIC, after the age of 12 (emphasis added by your correspondent). This isn’t a serious article of course, but to a degree does reflect actual feeling at the time regarding high level languages and, as a historical source, can be considered superior to the author’s offerings above.

Some big differences between these two schools of thought were in string handling. Neither Atari BASIC nor Sinclair BASIC used LEFT$, MID$, or RIGHT$ and both of these dialects could dimension a string of up to about 32K long, although Microsoft BASICs couldn’t have strings of anywhere near that length.

And this, along with not being designed to promote structured programming, is why BASIC was frowned upon by many educators; the variation between dialects made it difficult for students to take knowledge home with them and it must have been frustrating for teachers talking a group of children through something like string handling or floating point mathematics only to have owners of one or more different model of home computer coming into the next lesson complaining that what they were taught didn’t work! Forget the machine-specific graphics or sound commands, sometimes the far more important core functionality of BASIC worked differently.

In passing, your correspondent is puzzled as to what purpose could be found for a 32K long string that wouldn’t be handled more efficiently with an array, if anybody can think of something please leave a comment!

[Atari] commissioned a company called Shepardson Microsystems to create a BASIC with custom commands for their Atari 400 and 800 computers, after it turned out that Microsoft’s 8K BASIC wouldn’t fit onto their 8K ROM

This needs some clarification since the author has for some reason left important details out; Microsoft’s 8K BASIC was called that because it was that size when dealing with an Intel 8080-based system; the 6502 version for which Atari purchased the source code assembled to 9K (which Atari would’ve been aware of before handing over the cash) and, after they grafted on their specialised graphics and sound handling commands, it was more like 11K. They’d hoped to be able to boil that down to 8K but their in-house programmers couldn’t do it.

Most Commodore 64 owners expected someone else to write programs they could enjoy on their chosen computer, although it came without a decent BASIC interpreter. They probably didn’t even bother to learn programming, so never found this out.

Again, most 8-bit owners generally used off-the-shelf programs rather than writing their own so the same is true for owners of Sinclair, Amstrad, Atari or Oric machines as well.

That said, the sheer number of programs produced by back room amateurs on the C64 would suggest that there were quite a few more people out there than the author believes; at the end of 2012 there were two competitions that saw thirteen games and twenty demos released between them (along with over fifty graphics and music entries) which is more than some machines received for the entire year. Most of the people behind these releases didn’t learn to program (or perform whatever their function was since some are musicians and artists) recently, they’re from the generation who grew up with the C64, some have simply stayed with the machine over the decades. Others moved to 16-bit pastures before making a return – as an example of the latter, here’s a picture released today by artist Robin Levy, his first in about two decades:

A new loading screen for the GTW game Deadlock

It seems to me that Acorn was influenced by Atari in creating 8 display modes for the BBC Micro

And to finish, here’s an amusingly ridiculous piece of guesswork that forgets all the other modes the Atari 8-bit has which aren’t available from BASIC – some of the best modes for making games for example can’t be accessed without using that dreaded POKE command – again, that’s the problem with having bespoke commands from BASIC for things like graphics or sound, if they don’t do what the programmer wants he or she either has to make do without or get a little… creative.

Advertisements
This entry was posted in Debunking and tagged , , , , , , , . Bookmark the permalink.