 |
BASIC Is Alive and Well ! |
The Master had assigned a programming project to his three students.
Each program would perform the same task, but the students would use 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, and 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 are flawed. There is no inherent
requirement of unstructured, undecipherable code. That is up to the user's
individual taste, competence, and class. The fact that bad programmers
might be able to make something work despite their "spaghetti code"
and other faulty habits, is a tribute to the versatility of the language,
not a detriment.
Moreover, the BASIC interpreter itself is a plus, not a minus.
Its facility enables code to be tested without the necessity of
pre-compilation; this saves time, and it provides the user a more interactive
role, such as with insertion of STOP commands which would cause a compiler to
choke. Only BASIC offers this highly useful feature. In any case,
BASIC can be compiled as fast-running, stand-alone modules.
The old compiler BASCOM 2.0 works (better than most IBM
software for the PC), but the QuickBASIC 4.0 compiler is
5-10 times faster. Also, in my tests the
4.0 compiler has produced substantially faster executables
than its v.4.5 and v.7.1
counterparts.
Of course, old BASIC does have its limitations. Its 16-bit integer math
doesn't measure up to today's 32-bit or even
64-bit systems, graphics are limited to EGA-standard
640×350, and there are restrictions on program
size. Specifications such as these do not indicate a poor
program — merely an old one. Nevertheless,
I continue to use BASIC for smaller utilitarian functions. Of course, in true
diehard fashion, I also continue to use WordPerfect
5.1 — the best piece of software ever
written — for the same reasons: it gets the job done
quickly, and it never crashes.
This missive was not intended as an attempt to convert anyone to an archaic
programming language. However, if you are interested in using BASIC,
my pages should provide some useful insights —
including the single most interesting, yet virtually undocumented feature of BASIC
coding, which you will not have seen seriously discussed elsewhere!
Many of the ideas are applicable to other programming languages and spreadsheets.
If you need software, GW-BASIC 3.23 (the final version) and user manuals are
available for free download on the Internet. (Avoid the pathetic IBM
BASCOM compiler.) GW-BASIC also was included with copies of MS-DOS prior
to version 5; a friend might have one of those. All versions of QuickBASIC
also are available for free download, although some dreamers are still trying to
sell it.
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 has
no macro language (you do not want to be without one of those),
and it cannot read a standard DLL written in C++. 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.

Computer programming
GW-BASIC
BASIC programming
Batch files
BASIC function calls
sort routines
shuffling routines
Boolean logic arithmetic
BASIC coding shortcuts
Sorting, Shuffling, Dealing
Random number generator
QuickBASIC compiler
PowerBASIC Visual BASIC