A BASIC History
Eric Coleman
Copyright Sep 21, 2004
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