Early Programming Languages
(A Logic Puzzle)
At a recent conference on the history of programming languages, speakers described six important early languages, including Pascal. From the following clues, identify the inventor of each language, the year it was invented, its key application area, and a famous feature of the language. (Note that many of these categories are oversimplifications. For example, languages are usually developed by teams of people over several years.) You may know some of the answers already, but try to solve the puzzle using only the clues.
- The six languages are Forth, the one invented by Ken Iverson, the one used for teaching, the one famous for its optimizing compilers, and two invented in the same year.
- The earliest of the six languages was invented in 1956, the latest in 1970.
- Chuck Moore and Grace Hopper invented the language famous for its English-like syntax and the language used for embedded systems, in some order. Neither language was the one invented in 1962 (which was not the one famous for its use of a virtual machine).
- Cobol was invented three years before the language used for array processing and nine years before the language famous for its postfix notation.
- Niklaus Wirth invented neither the language famous for its abundance of parentheses nor the language used for scientific computing (which was invented in the 1950s).
- The language famous for its non-standard keyboards was invented before Forth, but after the one invented by John Backus (which was not the language used for symbolic computing).
- The languages used for business applications and for teaching were invented at least a decade apart.
- Lisp was invented by one of the Johns (Backus or McCarthy) sometime after the language used for its optimizing compilers, but before the language invented by Ken Iverson.
- Neither Fortran (which was invented before Forth) nor the language invented by Grace Hopper is the language famous for its use of a virtual machine.
- APL was invented before 1968, but after the language used for symbolic computing (which was neither Fortran nor Cobol).
- Fortran and the language used for business applications were invented in different years. Neither were invented by Niklaus Wirth or Chuck Moore.
- The language invented by Ken Iverson and the language used for embedded systems were both invented in the 1960s (at least one of them in 1968). Neither was famous for its abundance of parentheses.
| Language | Inventor | Year | Application Area | Famous Feature |
|---|---|---|---|---|
| Backus | Hopper | Iverson | McCarthy | Moore | Wirth | 1956 | 1962 | 1968 | 1970 | arrays | business | embedded | scientific | symbolic | teaching | English | keyboard | opt compiler | parentheses | postfix | virtual machine | |||
| APL | ||||||||||||||||||||||||
| Cobol | ||||||||||||||||||||||||
| Forth | ||||||||||||||||||||||||
| Fortran | ||||||||||||||||||||||||
| Lisp | ||||||||||||||||||||||||
| Pascal | ||||||||||||||||||||||||
| English | ||||||||||||||||||||||||
| keyboard | ||||||||||||||||||||||||
| opt compiler | ||||||||||||||||||||||||
| parentheses | ||||||||||||||||||||||||
| postfix | ||||||||||||||||||||||||
| virtual machine | ||||||||||||||||||||||||
| arrays | ||||||||||||||||||||||||
| business | ||||||||||||||||||||||||
| embedded | ||||||||||||||||||||||||
| scientific | ||||||||||||||||||||||||
| symbolic | ||||||||||||||||||||||||
| teaching | ||||||||||||||||||||||||
| 1956 | ||||||||||||||||||||||||
| 1962 | ||||||||||||||||||||||||
| 1968 | ||||||||||||||||||||||||
| 1970 | ||||||||||||||||||||||||
Maintained by Chris Okasaki