Swift!BASIC: Its Historical Context

BASIC was created in 1964 at Dartmouth University. The first version of BASIC was very limited in what it could do. But because it was easy to learn and very forgiving of errors, it became the favorite computing language at many universities.

I got my first taste of BASIC in 1968. The experience of interacting with a computer was so addictive that I actually dropped a graduate physics course so I could spend time on an old, teletype machine learning this great "new" way to program.

With the arrival of microcomputers, BASIC became popular with hobbyists and professionals alike. Many people had their first taste of programming with Apple BASIC, MBASIC on CP/M computers, or, later, BASICA on an IBM-PC or GWBASIC on an IBM clone.

Along the way, however, BASIC got a bad reputation. Since BASIC programs could be written and tested one line at a time, they tended to be written in a haphazard fashion. Programmers didn't have to think a program through. They could start throwing BASIC code at their computer. If the code didn't work, they could erase it, or use a GOTO command to jump over the faulty code. Programs might work once and then crash for no apparent reason. Trying to fix such programs was nigh unto impossible.

Many programmers switched to Pascal or C to insure better program design. Programs written in these structured languages ran faster and were easier to maintain.

However, the authors of BASIC couldn't let their language die. Professors Kemeny and Kurtz, the original authors of BASIC, completely rewrote the language and called it True BASIC. Microsoft finally retired BASICA in favor of QuickBASIC and Visual BASIC.

All of these modern BASICs have many of the same language capabilities as Pascal and C. They all allow the competent programmer to write structured code with nary a single GOTO.

Swift!BASIC is in a class with True BASIC and QuickBASIC. Like other versions of modern BASIC, it supports the use of functions and procedures. All functions and procedures use local variables. Swift!BASIC also contains several types of loops (WHILE..WEND, REPEAT..UNTIL, etc.) and even a CASE control structure.

Here are some of the other features of Swift!BASIC. Most of these features have positive aspects. Some of them have side effects that are not so positive.