Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

PILOT

From Wikipedia, the free encyclopedia
Simple high-level programming language developed in the 1960s
For information on payments in lieu of taxes, seePILOT (finance). For PILOT Reports, seePIREP.
For other uses, seePilot (disambiguation).

Programmed Inquiry, Learning, or Teaching (PILOT) is a simplehigh-level programming language developed in the 1960s.[1] Like its siblingLOGO, it was developed as an early foray into the technology ofcomputer-assisted instruction.

PILOT is animperative language similar in structure toBASIC andFORTRAN in its basic layout and structure. Its keywords are single characters,T for "type" to print text, orA for "accept", to input values from the user.

History

[edit]

Starting in 1960,John Amsden Starkweather a psychology professor at theUniversity of California, San Francisco (UCSF) medical center, developed a simple system for automating the construction of computer question-and-answer tests. Working with theDixie Elementary School District inMarin County, by 1962 the system was functional on aIBM 1620 and given the name COMPUTEST.[2]

UCSF installed aIBM System/360 Model 50, and Starkweather applied for a grant for further development by theU.S. Office of Education in 1965.[3] Using this funding, Starkweather began development of an expanded version of the system with more functionality. He gave this version the new name PILOT. Early versions were shown in 1966, and the almost-complete version was released in 1968. The next year it was released into the public domain.[4]

PILOT was later adopted byH. Dean Brown at theStanford Research Institute (SRI) Education Laboratory. Brown popularized PILOT as a language for use directly by children. Brown's efforts changed the language from one intended for use by teachers to write tests and instructional materials to one intended to be used to teach programming.[5]

PILOT was ported to a number of other systems, and various extensions and changes added at these sites. This led to a number of incompatible implementations with names like PYLON and NYLON.[2] In 1973, Starkweather brought together a number of people interested in computer aided teaching to develop a machine-independent specification for the language, PILOT-73. A portable subset was also defined as Core PILOT. Core was then ported to theDatapoint 2200, anIntel 8008 powered terminal that would later be known as apersonal computer. At $13,000, this was more expensive than many contemporaryminicomputers and did not see much use. However, this port proved very useful after theIntel 8080 came to market and spawned many inexpensivemicrocomputers.[3]

Starting in the late 1970s,Western Washington University began expanding the language into Common PILOT. This formed the basis for a number of later microcomputer variants.Processor Technology developed a version for theirSol-20, but the company went out of business before it was published. This nevertheless inspired several other versions during this era. Among these was Nevada PILOT forCP/M systems, based on Common, which in turn was the basis for Atari PILOT, which added a graphics system usingturtle graphics[2] and basic sound support.[2] PILOT on theApple II was written inUCSD Pascal. These versions led to a revival of the PILOT language for teaching, and led to an expanded version known as Super PILOT which added device control so programs could playvideodisks and similar tasks.[3]

For a time there was an effort to make a single standard for the language as IEEE Standard 1154-1991, but this was abandoned in 2000.[3][6]

Language syntax

[edit]

A line of PILOT code contains (from left to right) the followingsyntax elements:

  • an optionallabel
  • a command letter
  • an optional Y (for yes) or N (for no)
  • an optional conditional expression in parentheses
  • a colon (":")
  • anoperand, or multiple operandsdelimited by commas.

A label can also be alone in a line, not followed by other code. The syntax for a label is an asterisk followed by an identifier (alphanumeric string with alphabetic initial character).

Command letters

[edit]

The following commands are used in "core PILOT". Lines beginning with "R:" indicate a remark (or a comment) explaining the code that follows.

A
Acceptinput into "acceptbuffer". Examples:
 R:Next line of input replaces current contents of accept buffer A: R:Next line of input replaces accept buffer, andstringvariable 'FREE' A:$FREE R:Next 3 lines of input assigned to string variables 'X', 'Y' and 'Z' A:$X,$Y,$Z R:Numeric input assigned to numeric variable "Q" A:#Q
C
Compute and assign numeric value. Most PILOT implementations have onlyintegerarithmetic, and noarrays. Example:
 R:Assignarithmetic mean of #X and #Y to #AM C:#AM=(#X+#Y)/2
D
Dimension an array, on some implementations.
E
End (return from)subroutine or (if outside of a subroutine) abort program. Always used without any operand.
J
Jump to a label. Example:
  J:*RESTART
M
Match the accept buffer against string variables orstring literals. Example:
  R:Search accept buffer for "TRUTH", the value of MEXICO and "YOUTH", in that order  M:TRUTH,$MEXICO,YOUTH

The first match string (if any) that is a substring of the accept buffer is assigned to the special variable $MATCH. The buffercharacters left of the first match are assigned to $LEFT, and the characters on the right are assigned to $RIGHT.

The match flag is set to 'yes' or 'no', depending on whether a match is made. Any statement that has a Y following the command letter is processed only if the match flag is set. Statements with N are processed only if the flag is not set.

N
Equivalent to TN: (type if last match unsuccessful)
R
The operand of R: is acomment, and therefore has no effect.
T
'Type' operand as output. Examples:
  R:The next line prints a literal string  T:Thank you for your support.  R:The next line combines a literal string with a variable expression  T:Thank you, $NAME.
U
Use (call) a subroutine. A subroutine starts with a label and ends with E: Example:
  R:Call subroutine starting at label *INITIALIZE  U:*INITIALIZE
Y
Equivalent to TY: (type if last match successful)
Parentheses
If there is a parenthesized expression in a statement, it is aconditional expression, and the statement is processed only if the test has a value of 'true'. Example:
  R:Type message if x>y+z  T(#X>#Y+#Z):Condition met

Derivatives

[edit]

Extensions to core PILOT includearrays andfloating point numbers in Apple PILOT for theApple II, andLOGO-inspiredturtle graphics in Atari PILOT forAtari 8-bit computers.[7]

Between 1979 and 1983 the UK PILOT User Group was run by Alec Wood a teacher at Wirral Grammar School for Boys, Merseyside UK. Several machine code versions of a mini PILOT were produced for the microcomputers of the time and a school in Scotland developed an interactive foreign language tutorial where pupils guided footprints around a town asking and answering questions in German, French, etc. An article in the December 1979 ofComputer Age covered an early implementation called Tiny Pilot and gave a complete machine code listing.

Versions of PILOT written usingBASIC interpreters were released in the 1970s and early 1980s. The April 1973 edition ofPeople's Computer Company's newsletter included such a system written inHP Time-Shared BASIC for theHP 2100 system.[8] PETPILOT (PILOT for the Commodore PET) was the first non-Commodore language for the PET and was written in Microsoft BASIC which shipped with the PET, with a little assistance from Bill Gates. It was created in 1979 by Dave Gomberg and could run on a 4K PET (which was never shipped) and ran well on the 8K PETs that Commodore shipped. It was written in Larry Tessler's living room on PET serial number 2. In 1978,Byte Magazine published a non-Turing complete derivative of PILOT known as Waduzitdo by Larry Kheriarty.[9][10]

Atari PILOT, released inROM cartridge form in 1981 for the Atari 8-bit computers, addedturtle graphics and sound support.[11] These instructions used two-letter commands. Atari used PILOT as one of their primary languages at thecomputer camps they ran in the early 1980s.[12]Clarkson College of Technology developed ZPILOT in 1983 for theZenith Z-100.[13]

1983's Vanilla PILOT for theCommodore 64 also added turtle graphics,[14] as didSuper Turtle PILOT which was published as a type-in listing in the October 1987 issue ofCOMPUTE! magazine.[15]

In 1991 theInstitute of Electrical and Electronics Engineers (IEEE) published a standard for Pilot as IEEE Std 1154-1991. It has since been withdrawn.[16] Areference implementation based on this was implemented byEric Raymond, and maintained—-reluctantly—-for the next 15 years.[17]

In 1990 eSTeem PILOT for Atari ST computers was developed and programmed by Tom Nielsen, EdD. Based on the IEEE Standards for PILOT, it includes Atari-specific features such as control of Laserdisc and CDROM devices.[18]

A 2018 hobbyist implementation, psPILOT, based in part on the IEEE standard, was implemented using Microsoft's PowerShell scripting language.[19]

References

[edit]
  1. ^Rob Linwood."PILOT Resource Center".Sourceforge project. RetrievedOctober 13, 2011.
  2. ^abcdIEEE Standard for Programmed Inquiry, Learning, or Teaching (PILOT) (Technical report). IEEE. 22 August 1991.doi:10.1109/IEEESTD.1991.108548.ISBN 978-0-7381-1184-1.
  3. ^abcd"PILOT".EDM2. 4 November 2022.
  4. ^Xiuzhi Zhou (1998)."Register of the John A. Starkweather Papers, 1965-1985". University of California, San Francisco library. RetrievedOctober 13, 2011.
  5. ^Student Pilot(PDF). Atari. 1981.
  6. ^"IEEE 1154-1991: IEEE Standard for Programmed Inquiry, Learning, or Teaching (PILOT)".IEEE.
  7. ^Jim Conlan, Tracy Deliman (1983).Atari PILOT for beginners. Reston Publishing.ISBN 9780835903028.
  8. ^"PILOT '73".People's Computer Company. April 1973. pp. 11–17.
  9. ^Brian Connors (April 6, 2001)."Waduzitdo 2001". RetrievedOctober 13, 2011.
  10. ^Larry Kheriarty (September 1978). "WADUZITDO: How To Write a Language in 256 Words or Less".Byte.
  11. ^"Atari PILOT".Atari Mania.
  12. ^"Atari Computer Camps"(PDF).
  13. ^Zimmerman, Frederick (March–April 1984)."A Z100 on Every Desk: Clarkson College".Sextant. No. 9. pp. 8–14. RetrievedFebruary 12, 2026.{{cite magazine}}: CS1 maint: date format (link)
  14. ^"Vanilla PILOT, PILOT that comes with turtle graphics".Infoworld. September 12, 1983. pp. 67–69. RetrievedOctober 13, 2011.
  15. ^Atarimagazines.com - COMPUTE! Issue 89, October 1987, p74
  16. ^IEEE Standard 1154-1991 for Programmed Inquiry, Learning, or Teaching (PILOT). IEEE Standards Committee. 1991.doi:10.1109/IEEESTD.1991.108548.ISBN 0-7381-1184-8. Archived fromthe original on March 11, 2000.
  17. ^"Twenty years after".
  18. ^"Press Release: eSTeem PILOT".
  19. ^"psPilot".GitHub.

Further reading

[edit]
Current
802 series
802
802.1
802.3
(Ethernet)
802.11
(Wi-Fi)
802.15
Proposed
Superseded
National
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=PILOT&oldid=1337929763"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp