A Testimonial to BASIC Programming |
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 would write 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 one. "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 a lot of time in those days, and it provided
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 generated 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 cannot natively run those old applications; so I have felt
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 code-bloat
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 graphical version and a
Console Compiler (text-based screens), which is what I use. Additionally,
a significant number of useful third-party utilities have been designed
solely to augment these two compilers.