A BASIC History

Eric Coleman
Copyright Sep 21, 2004

URL: http://www.vbgamer.com/tutorial.asp?ndx=36

Page 1 As I write this, the computer programming language known as BASIC is now 40 years old. It's not the oldest computer language, but it has matured enormously over the years, first evolving from "FORTRAN" and "Algol", BASIC is quite arguably the most popular programming language in terms of the number of people that use it.

It all started in 1964 at Dartmouth College, Professors John G. Kemeny and Thomas E. Kurtz invented the Beginners All-purpose Symbolic Instruction Code (BASIC) computer programming language. This first BASIC was designed along with a time-sharing system to enable multiple users simultaneous access to a computer. This original BASIC was a true compiled language; meaning the BASIC program source was compiled to native machine code. As Professors Kemeny and Kurtz matured the language, they added support for strings, files, matrix arithmetic, and externally compiled routines. BASIC caught on, and was implemented on a wide range of computer systems.

In the 1970's, control structures, multi-character variable names, machine-independent graphics, better error handling, and "modules" of related external subroutines were added to the Dartmouth BASIC. BASIC was also being independently developed at many different universities at the time, so there were many different versions, all with different capabilities.

The MITS Altair, one of the first "micro computers," was released in 1975 as a kit which people would assemble at home. It used the Intel 8080 processor and came with 4KB of memory. Later in that year Bob Albrecht and Dennis Allison created "TinyBASIC," which would run in 2KB of memory. That would leave 2KB free for any programs that were written using the language. TinyBASIC was published in Dr. Dobb's Journal and was revised by many hobbyists and developers that read the magazine. Since it was a scaled down version of the original BASIC, it lacked many features, including fractional numbers, strings, file access and even FOR NEXT loops.

BASIC made another appearance on the Altair computer when two Harvard University students, William Gates and Paul Allen, developed a more advanced version of BASIC for the Altair microcomputer. This version of BASIC became known as "Altair BASIC" and was the first commercial product by "Micro-soft Corporation."

By the 1980's, there were several hundred versions of BASIC. The different implementations of BASIC were so different that no sizable program would work without considerable rewriting to function on the different platforms. However, it was in 1978 that "minimal BASIC" was defined by ANSI, the American National Standards Institute. This minimal BASIC was supposed to allow a program to run on the many different versions of BASIC that existed. In 1988 ANSI finalized "Standard BASIC," which was a more comprehensive version of BASIC, although it barely resembled the original Dartmouth version.

During the mid 1980's there were two prominent dialects of BASIC. There were the versions that descended from Altar BASIC which included "MS-BASIC interpreters and compiler, BetterBASIC and Professional BASIC." The standard compatible versions included Macintosh BASIC, Microsoft BASIC for the Macintosh, and True BASIC.

The 1990s is undoubtedly the decade of Visual Basic. Visual Basic 1.0 was released for both MS-DOS and MS Windows in 1991 and over the course of the decade many improvements and variations were made with to Microsoft's Visual Basic. The language evolved as the Internet started to become more popular, and it turned into both a client and server side scripting language, an integrated tool for Microsoft's business software, and as a major trendsetter for Microsoft's new technologies such as it's Component Object Model and it's .NET Framework programming model.

It's now 2004, a mere 40 years later, and BASIC is still growing and evolving. It is no longer a programming language for "beginners," so perhaps we should rename it to mean the "Best All-purpose Symbolic Instruction Code."

[h]Cited Reference[/h]
Birnes, William J., eds. McGraw-Hill Personal Computer Programming Encyclopedia. New York: McGraw-Hill, 1989