In February 1969, we generated FORTH for the Burroughs B-5500. At the time of writing, we are developing B-5500 applications, one of which will be the 1130 report generator.
FORTH encourages compact programs. Definitions make the programmers job so much easier that he is strongly motivated to isolate the significant features of his problem and to factor out those constructs that occur repeatedly. Proof of the effectiveness of this technique is the compactness of FORTH itself.
FORTH is a small program, composed mostly of dictionary. FORTH is written in FORTH and is its most complex application. FORTH requires 16 sheets to describe FORTH. FORTH requires 20 seconds to generate FORTH. FORTH uses 4K 16 bit words on the IBM 1130 and 2K 48 bit words on the B-5500. We estimate 8K bytes on any of the System 360 models. These figures are for a complete software package capable of supporting an independent application for every 4-8K bytes (depending on word size and hardware) of core available.
Both core and source program size are orders of magnitude less than the conventional systems they replace. This is a dramatic refutation of the conventional approach to software, and we presume to offer FORTH as a standard against which to measure system software.
Any application within the capacity of the hardware can be described in FORTH: easily, compactly and in a manner as self documenting as the programmer wishes. There are certain restrictions on how FORTH may be used: It requires keyboard communication. Jobs may not be batched in background, however they require only as much attention after starting as the programmer has designed into the application. FORTH has no automatic error-handling facilities. These may be provided the the user if he wishes, but otherwise FORTH merely reports an error to the user and awaits instructions. The user must assume responsibility for his source language and the integrity of his data. He must maintain his dictionary in the appropriate fashion. In brief, FORTH words with the user to solve his problems: it makes no attempt to solve them for him.
For example, FORTH can process a payroll. It requires a responsible person from the payroll department to edit the personnel file, see that the checks are in his remote printer and respond to errors as they are detected by FORTH. If you prefer to batch your change cards, merge them into a master tape and print the checks off line, stick with COBOL.
FORTH is a complete software package and a closed software package.
FORTH programs must be written in FORTH. There are no provisions for compiling or executing programs written in other languages. To provide such facilities would be to force upon FORTH the very problems it is designed to avoid.