||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 proud!"
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 well).
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
pre-compilation, 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,
(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