True BASIC Returns
|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 dont mean spreadsheet or database programming. Some people think they have mastered programming as soon as they set up their first spreadsheet or database. That doesnt count.
Over the years Ive 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 dont 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. Its 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. Thats 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 doesnt 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 isnt 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 dont 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 didnt work at all. Its 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 Developers Toolkit prevents this problem. Although the previous version of the Developers Toolkit still works with version 2.5, the Developers Toolkit needs to be upgraded to. Besides fixing minor bugs, the new Developers 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. Its 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 dont sound like much, youre 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 Developers Toolkit is a must if you want your program to look and feel like it belongs on a Macintosh. The Developers Toolkit should have been included with True BASIC. Since True BASIC doesnt lend itself well to serious application development, many users will not need the capability provided by the Developers 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. didnt include the Developers Toolkit with True BASIC since most of these people wont need it anyway. Even teachers will appreciate the Developers Toolkit.
Lets take a quick look at the Developers Toolkit version 2.0. As I mentioned, the older version of the Developers 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 Developers 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 BASICs 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.
Youll 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, Mathematicians Toolkit, Sorting & Searching Toolkit, Advanced String Toolkit and Communications Toolkit. Older versions of these libraries dont 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 Finders 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.
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 especially if you care about speed. Since True BASIC isnt 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 doesnt matter. In many cases, education is one of these areas.