True BASIC Returns
Volume Number: 8
Issue Number: 3
Column Tag: Tools of the Trade
The Return of True BASIC
It's now more compatible than ever!
By Dave Kelly, MacTutor Regular Contributing Author
It would be interesting to count how many people are still using BASIC
(beginners all-purpose symbolic instruction code) today. Of course, if you count all of
the Apple II (IIe, IIc, IIgs), and PC clone users it would increase the total significantly.
I guess the question is really, how many people do their own programming these days?
I don’t mean spreadsheet or database programming. Some people think they have
mastered programming as soon as they set up their first spreadsheet or database. That
doesn’t count.
Over the years I’ve had many people ask me about what computer they should
buy. The choice is much easier now, but I still ask the same question: What do you want
to do with it? A typical answer is something like: “my checkbook, keep track of
addresses or phone numbers, get a better understanding of how computers work, and let
my kids learn to program it.” Many computer users don’t actually have anything
important in mind when the buy a computer. They just think it would be a good thing
for their kids. Programming is a secondary notion that usually is never realized. It’s
more likely that a user will learn to program if the programming language is included
with the computer at the time it is purchased. I think that is one reason that HyperCard
is so popular is that it is included with every Macintosh. BASIC still takes first place in
popularity among novice computer users. That’s a daring statement, considering that
most Macintosh software has been written in either Pascal or C. [On the other hand,
Microsoft uses Word BASIC for its word processing scripting language. - Ed.]
Dartmouth College Professors John G. Kemeny and Thomas E. Kurtz invented
BASIC back in the 1960s. Their dream was to make it possible for each of their students
to have personal access to a computer. BASIC made this dream possible. Thousands of
people all over the world are able to write their own programs in ways that fulfill
their own dreams.
It is important to note that although BASIC has been widespread in the past, it has
not been as prevalent today. This is probably because the Macintosh doesn’t include
BASIC when you buy it. Most MS-DOS based clones do include GWBASIC, but the
majority of users today are not as interested in programming as they are just using
applications on their computer. HyperCard has helped to changed that, but I still have
many friends with Macs that have never learned how to use HyperCard. At least one
friend said he had not even used it once.
NEW SAMPLER EDITION
True BASIC has done a lot to change this complacency. About a year ago they began
testing of a Sampler Edition of True BASIC with a series of textbooks and special
products. This new Sampler Edition of True BASIC is the best deal ever for someone that
wants to tinker around with BASIC and isn’t sure how serious they want to get. It is also
an ideal product for students to use in introductory programming classes. The best
thing about the Sampler Edition is the price, only $14.95. This edition offers
• the same powerful BASIC language features of a modern, structured
programming language.
• the user can save NEW programs of 150 lines or less.
• the ability to run True BASIC programs of any size.
• a simplified and easier to understand manual including an introduction to BASIC
programming.
• libraries and demonstration programs.
• a version for both MS-DOS and Macintosh computers.
• an affordable way for every student to have their own package at a extremely low
price.
The Sampler Edition is an exceptional value. It comes with a fully functional
version of True BASIC except for the line number limitation for new programs and you
don’t have the ability to create double-clickable stand alone applications.
For more advanced programmers, True BASIC, Inc. has recently released version
2.5 of True BASIC. The changes to True BASIC with this release were very much needed.
The last version reviewed in MacTutor was version 2.01 a few years ago. If you were
still using version 2.01 a year or so ago you would have found out that True BASIC
didn’t work at all. It’s fixed now; True BASIC 2.5 is compatible with system 6.07,
7.0, and 7.01.
Version 2.5 comes with an update manual that explains the changes and additions.
Nearly half of the “new features” are bug fixes that fix True BASIC to work properly
with MultiFinder, System 7, printers, and desk accessories. True BASIC now supports
background operations. You are warned, however, that dialog routines in the MacTools
library do not wait until you bring items to the foreground ultimately resulting in a
system error or program crash. Using the TrueWindows library in the Developer’s
Toolkit pr events this problem. Although the previous version of the Developer’s Toolkit
still works with version 2.5, the Developer’s Toolkit needs to be upgraded to. Besides
fixing minor bugs, the new Developer’s Toolkit supports a new low level routine in the
System library, D_trap, that can be used to implement the new dispatcher-style traps,
many of which were introduced in Inside Macintosh VI.
BACK TO THE BASICS
As with previous versions, True BASIC is still a very rich version of Basic, as
far as the language goes. The command set follows the ANSI standard for Basic more
closely than any other Basic available. Of course this is because the authors (John G.
Kemeny and Thomas E. Kurtz) of True BASIC were key proponents of ANSI standard
BASIC. Language improvements in this version include: 16 to 1 increase in speed in
multiplying two 100 by 100 matrices. Despite the improvements, True BASIC is still
not a serious developer environment. It’s a great environment for teaching structured
programming though. There are no major enhancements to the Basic command set.
The True BASIC programming environment has a few notable additions. Scripts
can now include keyboard equivalents to completely automate dialog interaction. The
ALIAS command gives you more flexibility in organizing. Any monospaced font can be
specified for the Source Window, Command Window, and Output Window. When the
option key is held down on startup, a dialog is presented that lets you set configuration
parameters for specifying the free space in the application heap and turning off/on the
use of the floating point coprocessor if it exists.
If these changes and additions don’t sound like much, you’re right. True BASIC is
basically the same True BASIC product as before. The major difference is that now it
runs with current system software. The most visible change is that the signal light
window is now gone because they say that it would not work properly when running in
the background.
If you are or have been a True BASIC user in the past you will want to have
version 2.5. If you are learning or teaching BASIC, True BASIC is an excellent choice. If
you are serious about developing applications in BASIC then ZBasic is a much better
choice.
The Developer’s Toolkit is a must if you want your program to look and feel like
it belongs on a Macintosh. The Developer’s Toolkit should have been included with True
BASIC. Since True BASIC doesn’t lend itself well to “serious” application development,
many users will not need the capability provided by the Developer’s Toolkit. University
professors and other educational people that use True BASIC in their classes will want
their students to have the Sampler Edition while they use the full True BASIC language
system. True BASIC, Inc. didn’t include the Developer’s Toolkit with True BASIC since
most of these people won’t need it anyway. Even teachers will appreciate the Developer’s
Toolkit.
Let’s take a quick look at the Developer’s Toolkit version 2.0. As I mentioned, the
older version of the Developer’s Toolkit (version 1.0) needs to be updated to work with
True BASIC 2.5. It should be apparent to most of you that since Apple has updated
system software, the Developer’s Toolkit would be affected. Changes included access to
ROM routines that are described in Inside Macintosh Volumes 4 and 5, including support
for Color QuickDraw (IM vol 5). The True Windows library has been added to the
toolkit. True Windows is True BASIC’s simplified way to create and manage Macintosh
windows, menus, and dialog boxes. True Windows are still limited to “B/W” mode
(black and white).
It is very disappointing that the toolkit only includes support for Inside
Macintosh volumes I through V. The routines work with System 7.0, but none of the
volume VI routines are included. The Low-Level routines let you create your own trap
interface routines to support calls that are not yet supported. After all, System 7.0 has
been out for over a year-plenty of time for True BASIC to add volume VI support.
You can now “load” the toolkit libraries. This greatly reduces the startup time
for your programs. The libraries need to be located in either the same folder as the
True BASIC application or the same folder as your BASIC program in order for True
BASIC to find them. This makes it difficult to run the demo programs without some
planning to be sure that all libraries are available in the right folder.
OTHER LIBRARIES
You’ll love the extensive set of libraries available for True BASIC. Some of them
I have shown you here in MacTutor in the past, but True BASIC, Inc. now has several
new libraries that are available. Among the libraries you can get are: 3-D Graphics
Toolkit, Business Graphics Toolkit, Scientific Graphics Toolkit, Mathematician’s
Toolkit, Sorting & Searching Toolkit, Advanced String Toolkit and Communications
Toolkit. Older versions of these libraries don’t require any update since they still work
properly with True BASIC version 2.5. In addition, the Kemeny-Kurtz Math Series
consists of powerful Algebra, Pre-Calculus, and Calculus programs. Educators and
scientists will find these routines extremely useful.
The procedure for creating double-clickable applications is still the same as in
the previous version of True BASIC. Your application will be 80K plus the size of your
compiled True BASIC program. A few improvements have been added to help your
application work better with new Apple System software. An application program
named BOUNDER allows you to change the default rules used by True BASIC when the
program is launched. In particular, you can adjust the default font and size, the
minimum heap available for True BASIC, the minimum heap left free, the maximum
heap left free and the current memory partition size (also adjustable in the Finder’s
Get Info dialog). A radio style check box allows you to specify if the application can run
in the background under Multifinder (or System 7.0). This is the same as the
canBackground flag in the bundle resource. These fields are quite important since
problems could result if their values are too far out of range. You have to experiment to
determine what setting to use.
Bottom Line
True BASIC is ideal for students and educators that use BASIC as a part of their
various curriculum. It may even be suitable for scientists or engineers because of the
rich set of math and graphics libraries. I still prefer ANSI standard BASIC as far as
BASIC goes. However, it would be more suitable to write any serious commercial
applications programs in ZBasic e specially if you care about speed. Since True BASIC
isn’t compiled to native processor code (so that it will run on True BASIC on multiple
platforms), programs written in True BASIC are slower. There are applications where
this doesn’t matter. In many cases, education is one of these areas.