BBS: Inland Empire Archive Date: 03-21-93 (12:53) Number: 202 From: QUINN TYLER JACKSON Refer#: NONE To: ALL Recvd: NO Subj: Unofficial FAQ 2.0 1/ Conf: (2) Quik_Bas
QUIK_BAS FAQ2.0 **************************************************************** * * * "Ask Doctor JackMack" * * The JackMack List of Frequently Asked Questions with * * Some Simple Public Domain Solutions * * * **************************************************************** TABLE OF CONTENTS: q1.0 The BASICS of BASIC q2.0 Commonly Requested Routines s1.0 FINPUT.BAS -- restricted INPUT routine s2.0 COMLINE.BAS -- parses command line NOTE: Neither Quinn Tyler Jackson nor his company, JackMack Consulting & Development accepts responsibility for the soundness of the following advice. If your computer is not feeling well, or your programming skills seem pained, consult your manuals before attempting any of these exercises..... Q1.0 The BASICS of BASIC: Q1.1 What is the difference between GWBASIC, BASICA, QBASIC, QBI, QuickBASIC, PDS, QBX, VBDOS, ZBASIC, TSRBASIC, Turbo BASIC, and Power BASIC? A.1.1 Over the years since those first days in 1964 at that now famous university, there have been many versions of BASIC. (Beginner's All-purpose Symbolic Instruction Code) Each version has expanded upon the abilities of the previous versions, while trying to overcome some of the limitations that earned earlier BASICs the then-deserved title of "Beginner's" programming language. In the days of yesteryear, BASIC was mostly an interpreted language, as opposed to a compiled language, and was run on a large university mainframe computer, with each programmer being given only a noisy teletype like terminal that fought for its time with the mainframe. Terminals were noisy and things were slow in this world. That language was truly BASIC. As things progressed, however, certain parties made board room decisions that put BASIC into the ROM of every home enthusiast who could afford a personal computer with the then woppingly huge 64k of RAM. IBM's decision to make BASIC a part of the ROM of its early personal computers brought BASIC into the livingroom and out of the university labs. Now that it was in the enthusiasts' living rooms, however, computer users began to demand more from their BASIC than the Dartmouth type BASIC was giving them. And so, slightly more powerful features were added to each new release of BASIC dialects, until you could actually use variable names that made some kind of sense. (Instead of a simple LET A=10, one could say Apples=10. What improvement!) Time passed, and GW-BASIC and its look-alikes were born. Such features as definable functions were added to the list of improvements, and many BASIC programmers were starting to feel as if the Beginner's language was starting to lose its beginners edge. Sure, variables were still global to the whole program, but things were looking up! After all, it wasn't just anyone who could turn out spaghetti code to solve the mortgage payment schedule! Programming in BASIC was on its way with the introduction of GW-BASIC and BASICA. Then, in keeping with progress, other innovations were added to the BASIC family that seem so natural now, but without which modern BASIC programming would be a real drag. The concept of local variable scope leapt out of the C labratories and into the BASIC interpreters and compilers. Things were really looking up with local variables, since they made possible in BASIC somethere theretowith unheard of: recursion. With recursion came some real innovation in BASIC programming, let me tell you! Some algorithms are just better suited to recursive programming style than they are to the old linear method. Microsoft's BASIC series of compilers, in unison with the stepped down QuickBASIC versions that inevitably followed as a marketing plan, brought to BASIC something no serious programmer would ever give up. Local variables are just too nice to overlook, as are definable FUNCTIONs, SUB programs, and a handfull of other features that QuickBASIC and compiled BASIC introduced. And of course, through all this, there was competition! Enter Turbo BASIC, now abandoned by Borland, and a few others in the shareware field that just didn't quite win the support that Microsoft's BASICs enjoyed. ASIC, TSRBASIC, and company are oddities to most, and at best, exercises in imitation that didn't quite make it. Meanwhile, in the Window's world, everyone was programming either in C, or using some code engine that cost them a fortune. Along came VBWIN, which introduced a whole new concept to BASIC, visual and event oriented programming. This carried over eventually to DOS, and so were born VBDOS and VBDOS Professional, the replacements of QuickBASIC 4.5 and BASIC Professional Development System 7.1. Now, some confusion always existed about just what PDS meant. Actually, PDS means nothing by itself. There are professional development systems in Microsoft's other programming languages, so just a simple PDS could mean anything from MASM 6.1 PDS or whatever. PDS in BASIC circles, however, is always used to refer to the more full-featured BASIC compiler system for professional programmers. Therefore, when Microsoft decided to abandon its non-visually and event oriented lines of BASIC, it introduced two versions of VBDOS. One to replace QuickBASIC 4.5, which they called VBDOS Standard. The other to replace BASIC PDS 7.1, which they called VBDOS Professional. It should be noted, however, that even VBDOS Standard adopted many features thereto unknown to QuickBASIC 4.5. Such features as arrays in TYPE structures and REDIM PRESERVE had thereto been reserved for professionals, I suppose. Now, amateur enthusiasts were allowed to, through the introduction of extended features, sometimes called PDS EXTENSIONS, do such things as redimension arrays without losing their previous contents. True extensions were added to BASIC as well, such as OPTION EXPLICIT, which is used as a tool to speedier debugging, sinces it forces the programmer to declare all variables in a way only a C programmer would truly love to hate. And of course, the VBDOS pair adopted the event oriented style of its first cousin 3.1 times removed: Visual BASIC for Microsoft Windows<tm>. Meanwhile, another contender reared its head: Power BASIC. With its TSR capabilities and a few other nice features, some feel that it is real competition for the Microsoft line of BASICs. And all the while, DOS 5.0 users wonder what that QBASIC thingy is they got with their upgrade. Well, that is a stepped down version of QuickBASIC, missing a few very important features, but it's a good place for someone learning BASIC for the first time to start, since it was free with DOS 5.0, and since, as a subset of VBDOS and QuickBASIC, one can always step up the ladder without changing one's programming habbits too much. QBI, a similar release, came with the book _Learn BASIC Now!_ and probably is a waste of money for anyone with DOS 5.0, unless the book is worth the money to you. Q1.2 So now I know that little bit of history, Quinn, thanks. What is a FUNCTION and SUB, the things that you just mentioned? I'm a GW-BASIC programmer, and haven't heard of these things before. >>> Continued to next message * OLX 2.1 TD * QUIK_BAS FAQ 2.0 --- Maximus/2 2.01wb * Origin: The Nibble's Roost, Richmond BC Canada 604-244-8009 (1:153/918)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET