BASIC at 50 -

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 codeOptimistic 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 .

3 thoughts on “BASIC at 50

  1. “I can't fault BASIC for being bad. Well, maybe the encouraged use of GOTOs, but that's a different item entirely.nnnnAs a young teenager, BASIC is what I first learned to program in on my trusty TI-99/4A, saving my programs to cassette tape. I reme

    Log in to Reply
  2. “Now that it's 50, I would think that there would be numerous public domain versions of Basic interpreters many of which should run in a small footprint on an embedded host. I searched several years ago and found a few but none that I could get to port us

    Log in to Reply
  3. “BASIC was the first language I used back in Palm Spring Jr. High. The school lab had a IBM 386/w a huge floppy drive. We need to have a boot floppy, then switch to the BASIC floppy drive. This article can critic BASIC and all its deficiencies, but it w

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.