BASIC at 50
If there's one language that has gotten a bad rap, it's BASIC. Edgar Dijkstra and others have famously claimed that a
person reared on BASIC was forever damned by the experience.
By that reasoning, a baby who dribbles food can never learn table manners, and the old timer who was adept with analog oscilloscopes will be eternally baffled by the new world of the DSO. BASIC got a lot of people into software development. Some shouldn't have gotten involved in that, of course; for others, it seduced them into a career in professional software engineering.
My first programming experiences were not with BASIC. I learned FORTRAN in high school and then moved on to Univac 1108 assembly language before picking up APL, LITHP, and many other languages, including (eventually) BASIC. FORTRAN and assembler suffer from the same lack of structure as the original Dartmouth BASIC, so one would think these languages would also be accused of being injurious to a developer's development. And what could be a bigger blot on the software world than APL?
My first exposure to BASIC was around 1975, when we bought a couple of Altair 8800s. These arguably jump started the personal computer revolution, though they came into being long before the word "PC" existed. Thousands of serious developers and hobbyists bought the machines, often with a paper tape of Bill Gates' BASIC interpreter.
It was very liberating to use an interpreter, rather than going through the incredibly painful process of compiling or assembling code. Even today, every little change requires a tedious recompilation. In the 1970s, there were no hard disks on micros; even floppies were expensive and rare. Recompiling to paper tape or cassette decks ate enormous blocks of time. With BASIC, one could type in a line of code and then "RUN". The edit/test cycle took seconds.
BASIC was the lingua franca of the eight-bit computer world. All the machines sold in the late 1970s and early 1980s supported it, and in many cases, it was built into the ROM chips. Often there was no OS; the machine booted to a BASIC interpreter. Even the vaunted IBM PC originally had the language in ROM.
Embedded development in the early days was almost always in assembly language, and I suspect there wasn't a manager on the planet who was happy about the low productivity it entailed and the completely cryptic end product that only a pony-tailed engineer who never came in before noon could understand. A lot of people were looking for alternatives. A few C compilers (e.g., MANX C) were available in the early 1980s, but it was not a popular language among eight-bit developers.
To read more of this external content on EETimes, go to "Peer Pressure."
To read more about what Jack has to say about computer languages in general here are some links to some previous Break Points columns: Languages, An Embedded Life, Coders vs. programmers, I hate Forth, No cute code, Optimistic programming, and Computer science lab.If you would like to learn more about the language, go to "BASIC programming." at Wikibooks and to the FreeBASIC web site and its freebasic wiki.