||A Testimonial to
The Master had assigned a programming project to his three students.
Each program would perform the same task, but the students would utilize different
programming languages. One was to use C, one Pascal, and the other would
code in BASIC.
After a period of time, the Master assembled his protégés for an accounting.
"How is your program coming along?", he asked of the first student.
"Oh, my C code is so powerful that you won't believe how fast it will
run!", the student responded.
The Master made the same inquiry of the second pupil, who answered, "Oh,
my Pascal code is so elegant and beautifully structured, it will make you
Then the Master turned to the BASIC programmer, who shrugged his shoulders
and said, "I'm finished. What's the next assignment?"
When Bill Gates created GW (Gee-Whiz) BASIC — a substantial upgrade of
BASICA and other offerings of the time, relatively unsophisticated programmers
finally had access to a powerful tool that was ridiculously easy to learn compared
to the foremost languages of the
time — Fortran, Pascal, and COBOL.
Gates thought highly enough of his brain-child to found the Microsoft
Corporation in order to market GW-BASIC (although he doubtless had other ideas as
Detractors cited BASIC's inherent non-requirement of a rigid structure as a
deterrent to good programming habits; they also complained that, since BASIC was
"interpreted," it didn't run as fast as compiled languages.
Of course, both of these arguments were flawed. Although BASIC did support the
writing of unstructured and undecipherable code, such behavior was determined
by the user's individual taste, competence, and class. The fact that bad programmers
were able to make something work despite their bad habits actually was a tribute
to the versatility of the language, not a detriment.
Moreover, the BASIC interpreter itself was a plus, not a minus.
Its facility enabled code to be tested without the necessity of
which saved time, and it provides the user a more interactive role, such as with
insertion of STOP commands which would cause a compiler to choke. Among all
existing programming languages, only interpreted BASIC offered this highly useful
feature. In any case, GW-BASIC could be compiled as fast-running,
stand-alone modules. The IBM BASCOM 2.0 compiler did work, but the
QuickBASIC 4.0 compiler created executables that were 5-10 times faster.
Of course, GW-BASIC had its limitations — 16-bit integer math, EGA
(640×350) graphics, and restrictions on program size. Those specifications
do not indicate a poor
program — merely an old one. Nevertheless,
until recent times I continued to use GW-BASIC for small utilitarian
functions. (In true diehard fashion, I also continued to use WordPerfect
5.1 — the best piece of software ever written, for the same reasons:
it got the job done quickly, and it never crashed.) Unfortunately, my newer
64-bit operating system (Windows 7) cannot natively run those old
applications; so I have been compelled finally to move on.
This retrospective is not intended as an attempt to convert anyone to an archaic
programming language. However, if you are interested in looking at the incredibly
influential program that gave the world's richest man his big start and introduced coding
to the masses,
GW-BASIC 3.23 (the final version) and user manuals
are available for free download on the Internet. QuickBASIC is similarly available,
although some dreamers might still be trying to sell it. These programs will run on
32-bit Windows systems such as XP or earlier versions.
Of course, if you want state-of-the-art programming capabilities, purchase
PowerBASIC (unsolicited testimonial). Visual BASIC, Visual C++,
and especially VB.NET (ugh) have become increasingly dependent upon
and massive amounts of memory. PB is the standout choice for smaller, faster,
industrial-strength executables. The Microsoft offerings have other
limitations as well, such as that VB lacks a macro language (you do not want
to be without one of those), and VB.NET programs are unusable outside a .NET
framework. PowerBASIC offers both a full-blown Windows version and a
Console Compiler (text-based screens), which is what I use. Additionally,
a number of useful third-party utilities have been designed solely to augment