Each statement was designed to correspond to a flowchart operation and consisted of a numeric line number, an operation, and the required operands:
The final variable specified the destination for the computation. The above program corresponds in functionality to the later BASIC program:
DOPE might be the first programming language to require every statement to have a line number, predating JOSS and BASIC.
The language was case insensitive.
Variable names were a single letter A to Z, or a letter followed by a digit (A0 to Z9). As with Fortran, different letters represented different variable types. Variables starting with letters A to D were floating point, as were variables from I to Z; variables E, F, G, and H each were defined as vectors with components from 1 to 16.
The language was used by only one freshman computing class.2 Kemeny collaborated with high school student Sidney Marshall (taking freshman calculus) to develop the language.34
According to Thomas Kurtz, a co-inventor of BASIC, "Though not a success in itself, DOPE presaged BASIC. DOPE provided default vectors, default printing formats, and general input formats. Line numbers doubled as jump targets."
The language had a number of other features and innovations that were carried over into BASIC:
*Unlike either Fortran or Algol 60.
Kurtz, Thomas (1981). "BASIC". History of programming languages. History of programming languages I. ACM. pp. 517-518 517–518. doi:10.1145/800025.1198404. ISBN 0-12-745040-8. 0-12-745040-8 ↩
Williams, Michael (November 1, 1985). A History of Computing Technology (1st ed.). Prentice-Hall. p. 432. ISBN 0133899179. 0133899179 ↩
Application to the National Science Foundation, Kurtz, Rieser, and Meck, cited in Rankin, pages 20-21 ↩
Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley Publishing Company, Inc. 141 pp. ISBN 0-201-13433-0 /wiki/ISBN_(identifier) ↩