Description
Each statement was designed to correspond to a flowchart operation and consisted of a numeric line number, an operation, and the required operands: 7 + A B C 10 SIN X Z 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. Kemeny collaborated with high school student Sidney Marshall (taking freshman calculus) to develop the language.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.Legacy
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: # Variable names were either a letter or a letter followed by a digit # Arrays (vectors) did not have to be declared and had a default size (16 instead of 10) # Every line required a numeric label* # Lines were sorted in numeric order* # Every line begin with a keyword* # Function names were three letters long* # The only loop construct was a for-loop Unlike either Fortran orSee also
* DARSIMCO, 'Dartmouth Simplified Code', a 1956 assembler macro language * Dartmouth ALGOL 30, a compiler developed by Dartmouth for the LGP-30References
Programming languages {{prog-lang-stub