Basically, a true bargain. (True BASIC Sampler Edition) (Software Review) (Programming Power)(Column) (Evaluation)
by Tom Campbell
Continuing a BASIC hot streak (last month, we covered the estimable PowerBASIC), we turn to an amazing bargain: The True BASIC Sampler Edition, a $15 version of the only ANSI-standard BASIC implementation from the guys who invented BASIC.
John Kemeny and Tom Kurtz, two professors at Dartmouth, literally created BASIC from scratch in 1964. They wanted a friendlier introduction to computers than FORTRAN, then the state of the art. What is not so well known is that they upgraded their BASIC with astonishing speed, creating interactive versions that acted very much like QUICKBASIC did 20 years later. They gave the language a host of features yet to be matched in most other BASICs, such as matrix manipulation, advanced graphics, local variables, and required variable declarations. Kemeny and Kurtz were understandably embarrassed when simplified imitations of the very earliest version of their language were cloned on every machine from toy microcomputers to mainframes and their beloved creation was then nearly throttled to death by programming cognoscenti who judged it thirdhand and pronounced the impostor versions dead on arrival.
It is also relatively uncommon knowledge that there is an ANSI standard for BASIC, ratified several years ago, and True BASIC conforms to that standard (QUICKBASIC, GWBASIC, and the like don't even come close). The obvious question is, of course, so what? QUICKBASIC and QBASIC are the de facto standards, running on millions of desktops, as opposed to perhaps tens or hundreds of thousands using True BASIC. It would not be difficult to stop the argument there.
But an ANSI-standard BASIC has the tantalizing potential of allowing, say, PCs, Macintoshes, Amigas, and Sun work-stations to run the exact same source code. Kemeny and Kurtz finally wised up and formed their own company, one that now carries--sit down; you'll be shocked when you hear this--versions of True BASIC that run identically on PCs, Macs, Amigas, and Sun workstations. True BASIC it's the name of the company, too, and it's located at 12 Commerce Avenue, West Lebanon, New Hampshire 03784; 800-872-2742, 60 298-7015 [fax]) also carries a host of True BASIC source libraries for math, scientific, engineering, and some general-purpose use.
What's most exciting to me is that you can experience True BASIC yourself if you own a PC compatible (or if you slipped and accidentally bought a Mac) for only $14.95. This is easily the best demo package I've ever seen; it gives you a full version of the language, the ability to create files up to 150 lines long, and a 208-page paperback book by the masters themselves showing you BASIC from the ground up. I got both the Mac and the PC versions, and sure enough, the same source runs identically on the two machines.
True BASIC is a very different animal from the other BASICs. Like QUICKBASIC and QBASIC, it compiles programs in the background as you type, so you get the speed of a compiler with the convenience of an interpreter. The environment isn't nearly as comfortable as QBASIC, although it's similar in concept: menus, an immediate window, and so forth. The problem is that it's clunky. You bring up a menu by pressing Alt-1 for the leftmost menu, Alt-2 for the one next to it, and so on. The help system, while user-extensible, is primitive and requires that you press Ctrl-Break to leave a help screen. F1 isn't the help key, F10 isn't the menu key, and it can't find help files when run outside the directory it was installed in.
True BASIC is very strong in the math and string-handling departments. TRUNCATE truncates a number to the specified decimal places; MIN and MAX return the minimum and maximum of two numbers; pi is built in; there's support for natural, common (base 10), and base 2 logarithms; and more. There are whole groups of string functions not found in other BASICs. LTRIM, RTRIM, and TRIM removing leading and trailing blanks; CPOS finds the first occurrence of a character in a string; CPOSR does the same but from the end; NCPOS finds the first occurrence of a character not found in a string; and NCPOSR does the same but from the end. There's a whole array (sorry) of matrix-handling statements and functions, and the graphics subsystem is far better thought out than those built into other BASICs.
The sample edition is a roaring success, and my main criticism is a political one. The manual never mentions the Microsoft BASIC variants, probably on the theory that there's no reason to aid the competition. That doesn't make sense to me. I'd much rather the book contain a 10- or 12-page comparative analysis and conversion guide so that interested parties could convert their Microsoft BASIC code over to True BASIC. This would only increase its market, a move both True BASIC and we users deserve.