TOC
The Four Files
of the
Apocalypse
using
GW-BASIC
Forward
GW-Basic is a stupendous piece of software. For years
millions of people took classes in high school, college and
privately to learn how to program and to familiarize
themselves with fundamental computer operations.
Then, at night, silently, it sank suddenly without a trace,
not even noticed by the computing public. It slipped into
oblivion somewhere between EGA and VGA. sad...
All one heard about its demise was: Spaghetti code, goto's,
segment limit, line numbers, defective beginners language
What had once some academic respect now was wearing the
scarlet "B" letter.
It was now the "untouchable" interpreter
What the bloatware marketing people didn't tell you was
that, as programs go, GW-Basic is all any normal person
needed at the time for personal or home business use.
And my statement is that, "It is all any normal person needs
for all time."
Once even, my son needed a xyz chart for for statistical
analysis on some data he gathered for his masters in
biology. Would you believe that Excel, Quattro Pro, or any
spreadsheet then or even now, had the type of chart he
needed.
So, using humble GW-Basic and the built in drawing program
we put together the desired chart in - well, it was well
under an hour if i remember correctly, using the DATA-READ
statements to read in the three columns of numeric data -
x,y, and z - and then drawing the chart.
It was a spiffy little chart too. looked good.
Except that, after all the thrashing around, i don't think
he ever used it. But that is a whole different issue for
which GW-Basic cannot take the blame.
The major spreadsheets STILL can't do the statistical graph
after all these years. Unbelievable.
GW-Basic is a simple, albeit sophisticated, solution for the
simple needs of most of humanity, with one grave exception:
The internet. But even with the internet, my suspicion is
that GW-Basic in the hands of a professional ace programmer
might be able to provide an acceptable browser if the
hardware was fast enough. But that is a big maybe, i really
don't know enough to chase that idea very far.
We could probably use a better GW-Basic with VGA and SVGA
and higher screen numbers, with long jumps & etc, etc. added
in. Just keep it the same, scuzzy lines numbers and all as
far as i am concerned, do need high res though...
QBasic is advanced - sort of, but with my limited abilities
and my experience, it isn't as good as gw-basic. QuickBasic
4.5 and Professional Development System 7.0 are another
matter however. Slick stuff those...
Anyhow, to make a long forward short, this series of
embedded GW-BASIC programs within the HTML format are called
the "Last Book of GW-Basic".
As an added bonus, my little book is copyleft and completely
free. And, according to all the modern programming gurus,
worth every cent it cost. (hisss on C++, for joe sixpack
usage at least. :-)
In fact, the big shots can rewrite the GW-BASIC interpreter
using C++ in a week or two if they wanted. But they ain't
gonna, 'cause it's a s-t-r-a-t-e-g-i-c marketing ploy by the
corporate marketing weenies. They would probably only sell
about 5000 copies if that anyway, and no one is going to pay
a gazillion dollars for an old updated interpreter. It would
be better off anyhow if they used assembly.
Open Source is our only hope for a new modern BASIC
interpreter (we don't need a compiler) but the GW-BASIC
interpreter is no doubt copyrighted to doomsday anyway.
This "e-book" should have been written by William Gates
himself when GW-Basic first made it appearance decades ago,
it would have been a LOT better. But, i understand he was
busy, and felt the activity was without any merit as GW-
Basic was so easy to understand that he didn't feel it was
necessary. Hah! that was a bad call...
That is quite a reasonable presumption for a genius to make.
But quite erroneous as well with respect to its functioning
reality of use within the mud filled minds and operating
environments of us Joe Sixpacks. Oh sure, great BASIC
programs were written, and you paid great prices for them
too.
My take on the dethronement of GW-BASIC is that the Super
Precision GW-BASIC couldn't handle the dirty environment.
The Luger jammed. Things will be a LOT better with Visual
Basic N, right? yeah sure... You buy the books...
The code that was thrown out to the public was too
irrelevant or too complex and made even more so by ludicrous
books written by professional programmers. B-Trees for
basic? give me a break... B-Trees are great, but us Joe
Sixpacks are years and years away from that type of computer
science.
Or worse, the books were too simple, those being written by
the "educators" who specialize in quizzes, examinations and
GRADES.
Anyhow, here is yet another last gasp attempt to treat the
original "Latin" computer language (now a dead language) in
a fashion that will show the reader just how solid and
useful GW-Basic really is for people who don't really even
need a computer in the first place..
My instruction manual is as follows: Just copy the crap and
get it running and then use it, modify it for your needs.
period. simple huh? a user manual of one sentence. For
the most part, all we are doing here is READing in-line
DATA. You do the DATA, the program does the READing.
It is too easy to forget that HUGE corporations were run on
computers and software substantially less "powerful" than
humble GW-Basic and today's laptop in the early days.
Payrolls, inventory & etc. were all done for giant
corporations with legions of key punch operators and
computers with "core" memory. Stacks and stacks of cards
were consumed and run through the old computers.
The GW-Basic DATA-READ statements are the functional
equivalent of yesteryear's punch cards.
i once wrote out a one million record inventory file with
128 or 196 bytes per record just playing around using GW-
Basic from DOS 4.01. (i forget whether it was random or
sequential... sorry. But it is in back of the gwbasic book
anyhow, just modify it a tad, and you are off and running.
i put in an under inventory amount for one record in every
100,000 records.
My old (now slow) 33mHz NEC Versa S 486sx could go through
and search the entire 1,000,000 record database and pick off
all ten under inventory records every 100,000 records in
around 12 minutes searching 100,000 records in a little over
a minute each.
Now, on a Pentium 4 running at 3.0+ gig you guess how quick
GW-Basic could get the job done. General Motors anybody?
For the Joe Sixpack and his affairs, if a computer is needed
at all, even when an envelope or a deck of 3"x5" cards and a
pencil will do just fine, an old discarded computer and GW-
Basic is all he really needs for anything that is prefaced
with the word "Home" or "Small Business" or if he just wants
to play "techie".
Using the "Four files of the Apocalypse", i suggest that you
dig the old laptop computer in the closet out and put it in
the kitchen next to the phone to monitor phone numbers, use
the rolodex, and store your recipes for instant lookup on.
Just leave it plugged in, turned on, and on a surge
protector. You don't even need a hard drive. Just create a
ramdisk and do everything in that. That will keep things
silent. You already have a UPS since the laptop is battery
powered to begin with. If you are web enabled, so much the
better...
One last unfortunate caveat:
gw-basic uses the < and the > characters a LOT.
All the line numbers in the listed code are consecutive.
Any interruptions or missing line numbers mean that HTML
hit a < or a > in the listing and went south.
Ummm, if at that time you are going to actually use the
code, use the "view source" option on your browser in order
to highlight the code and then copy it to the clipboard and
then to paste it to your editor from there.
Again, if you are going to actually use the code or just
save the source, save it to the file name minus the "b"
prefix (b is my shorthand for Basic HTML file.) in your
selected directory for all these basic files.
So bssaver.html should really be saved as ssaver.bas with
just the line number lines saved.
Don't forget to delete or comment out any of the nonline
numbered HTML comments within the code when you use the
interpreter. sorry...