HOME

TheInfoList



OR:

DOPE, short for Dartmouth Oversimplified Programming Experiment, was a simple
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
designed by John Kemény in 1962 to offer students a transition from flow-charting to programming the
LGP-30 The LGP-30, standing for Librascope General Purpose and then Librascope General Precision, was an early off-the-shelf computer. It was manufactured by the Librascope company of Glendale, California (a division of General Precision Inc.), and s ...
. Lessons learned from implementing DOPE were subsequently applied to the invention and development of
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
.


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 Joss may refer to: * Joss (name), including a list of people with the name * JOSS, a time-sharing programming language * Joss (Chinese statue), a religious object * Joss JP1, an Australian-built supercar * Joss paper, a type of burnt offering * ...
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 In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can ...
, 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 or
Algol 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
.


See also

* DARSIMCO, 'Dartmouth Simplified Code', a 1956 assembler macro language * Dartmouth ALGOL 30, a compiler developed by Dartmouth for the LGP-30


References

Programming languages {{prog-lang-stub