PILOT

PILOT (Programmed Instruction, Learning, or Teaching) is a fairly simple imperative programming language intended to be easy to use and in particular to teach newbies and children the basics of programming. A predecessor to Logo, PILOT is tiny and could be efficiently implemented on early microprocessors.

History
PILOT was developed by John Amsden Starkweather in 1968 when he was working as a psychology professor at the University of California, USA. It was partly based on an earlier language he had developed in 1960 to 62 called Computest that automated pupil testing and scoring and was implemented on an IBM 1620. It was successful enough for Starkweather to be given a grant in 1965 by the U.S. Office of Education to develop it further. Early versions of the system were shown in 1966. A more or less complete version was shown in 1968 and it was released into the public domain in 1969.

In 1973 Starkweather alongside other people interested in Computer Assisted Learning defined a core language specification that was mostly machine independent and that is usually referred to as PILOT-73 and a full portable subset that is referred to as Core PILOT. At the same time he made a implementation for the "DATAPOINT" 8008 based microcomputer that was later expanded to work with 8080 and Z80 processors and as that version was also in the Public Domain. It was shipped with or made available for a number of 8080/Z80 based CP/M systems. He later expanded the system to work CP/M and DOS on x80 and x86 based systems and those ports were sold at budget price under the name Nevada PILOT by a company called Ellis Computing.

The DATAPOINT port made PILOT the first programming language to be available on microcomputers, but the ridiculous price of the system made (almost 13,000 US$ for a base system) made it actually more expensive than many minicomputer systems available at the time and thus made it too expensive for most schools to buy. The other early 8008 system in the form of the French MICRAL had a much more realistic price point but had Basic and Pascal versions available for free and while PILOT was made available for it later on it never gained any interest on that system.

In the latter half of the 70s Western Washington University extended the Core PILOT specification into an extended specification intended for development of curriculum software called Common PILOT and ported it to a number of microprocessors, most 6502 implementations excluding the Atari one are based on the WWU Common PILOT code and specifications. The reason why the Atari, Tandy Radio Shack and others did not follow the CP standard was that Core PILOT was perfectly suited to beginners who often figured out how to program in PILOT without any help from tutors while Common PILOT expects some programming knowledge from the user. In addition Core PILOT was also so small that it fit fine into 8k of memory or less, thus being distributable with memory constrained 16k versions of the computers sold by those companies, while Common PILOT needed or more.

Apple PILOT, nota bene, is not a descendant of the 6502 PILOT but a reimplementation of Common PILOT in Pascal and requires the UCSD Pascal system to run.

In the very early days of personal computers in the mid 70s it fought with Pascal, Basic, FOCAL and to a lesser degree FORTH as the language of choice for microcomputers. For a short while Microsoft hedged it bets by having FOCAL and PILOT tools available as well as Basic. In the end Basic won the day mostly since the first four micro-computers designs that sold in any quantity either had Basic built in, or available at a low cost.

PILOT got something of a second life in the early 80s as an educational language, primarily in the USA, UK and France running on 8 bit 6502 computers, mostly ATARI and Apple II but also on the Commodore 8000 line in France. The 6502 versions evolved into Super PILOT, a system specifically developed for educational use with extensions for controlling external equipment such as slide projectors, tape recorders and laserdiscs. One of the factors was that it was very easy to create question and response programs in PILOT that suited the teaching of languages for instance down to a tee, by hooking it up to external hardware the student could continue at his own pace while getting full A/V instruction. Other PILOT implementations for educational use extended the language by adding the turtle graphics system from LOGO, this included "ATARI PILOT" and a couple of versions for the Commodore 64. Note that Super Pilot was not a product from a company but used for a number of extended implementations from more than one concern, with differing feature sets.

In the 70s IBM and Western Illinois University had an experimental CAI (Computer Aided Instruction) system that was basically an APL system with the PILOT-73 language bolted on that was simply called "The PILOT/APL CAI system".

OS/2 implementations

 * RPilot - Open Source
 * Taylor Pilot (Pilot CAI interpreter) - Public Domain

DOS implementations

 * IBM PILOT (5777-UAH)
 * Nevada PILOT - Commercial
 * RPilot - Open Source
 * Taylor Pilot - Public Domain

Publications

 * Tom Conlon: PILOT: The Language and How to Use it – 1984, ISBN 0-13-676247-6
 * John Amsden Starkweather: PILOT-73 Guide - 1974
 * John Amsden Starkweather: A User's Guide to PILOT – 1985, ISBN 0-13-937748-4
 * John Amsden Starkweather: Computer science instruction in elementary grades; An exploration of computer-based learning methods - 1968
 * John Amsden Starkweather: Nevada PILOT: Programmer's Reference Manual - 1982 (PC version 1984) Tandy version
 * Larry Kheriaty and George Gerhold: COMMON PILOT Language Reference Manual - Western Washington University 1980, ISBN 10217338

Articles

 * PILOT Overview: Clean and simple language has many application - Infoworld 1982-03-01
 * PILOT And Logo – A Tale Of Two Languages - Compute! magazine issue 38 - 1983
 * PILOT Language Article - Sundry historical articles collected into one file.
 * Training for Development and Use of Generic Software Programs. - Discusses training people to use SuperPILOT.

Tutorials and other learning material
These are mostly for old 8 and 16 bit PILOT implementations but since the language has very little in way of system specific features they will be useful for learning just about any version of the language.
 * Morrow PILOT User Guide
 * Atari PILOT for Beginners
 * Atari PILOT External Specifications
 * Apple PILOT Editors Manual - Some useful Common PILOT example near the end.
 * Atari Student Pilot Reference Guide

Standards

 * PILOT-73 - Aka Core PILOT - The standard that most mini and microcomputer implementations refer to, believed to have been published in a paper by J. Starkweather and then a year later in the "PILOT-73 Guide" book listed above, but some implementations pre-date the release of the book.
 * Common PILOT - An extended version of the of Core PILOT developed at the Western Washington, intended for development of curriculum software. Described in the book "COMMON PILOT Progress Report" by Larry Kheriaty and George Gerhold in 1978 and updated with the release of the COMMON PILOT Language Reference Manual in 1980
 * IEEE Std 1154-1991. The only formal standard in existence and has since been withdrawn. (1992)