
Interpretive routines in the conventional sense were mentioned by John Mauchly in his lectures at the Moore School in 1946. "The first interpretive routine may be said to be the "Universal Turing Machine". Knuth observes that the subroutine return embedded in the program itself rather than in special registers is attributable to von Neumann and Goldstine. to simply sort data efficiently" (Davis 2000:184). An early, if not the very first, assembler was proposed "by a young hot-shot programmer" for the EDVAC (Davis 2000:192). Knuth cites Turing's work on the ACE computer as designing "hardware to facilitate subroutine linkage" (Knuth 1973:225) Davis also references this work as Turing's use of a hardware "stack" (Davis 2000:237 footnote 18).Īs the Turing Machine was encouraging the construction of computers, the UTM was encouraging the development of the fledgling computer sciences. is working on an incarnation of a Turing machine," and that "John von Neumann on the work of Alan Turing" (Davis 2000:193 quoting Time magazine of 29 March 1999).ĭavis makes a case that Turing's Automatic Computing Engine (ACE) computer "anticipated" the notions of microprogramming ( microcode) and RISC processors (Davis 2000:188). Davis quotes Time magazine to this effect, that "everyone who taps at a keyboard. If this machine U is supplied with a tape on the beginning of which is written the S.D of some computing machine M, then U will compute the same sequence as M." Stored-program computer ĭavis makes a persuasive argument that Turing's conception of what is now known as "the stored-program computer", of placing the "action table"-the instructions for the machine-in the same "memory" as the input data, strongly influenced John von Neumann's conception of the first American discrete-symbol (as opposed to analog) computer-the EDVAC. "It is possible to invent a single machine which can be used to compute any computable sequence. Turing described such a construction in complete detail in his 1936 paper:
.jpg)
Thus we can construct a Turing machine that expects on its tape a string describing an action table followed by a string describing the input tape, and computes the tape that the encoded Turing machine would have computed.

However, we can encode the action table of any Turing machine in a string. In that sense it behaves like a computer with a fixed program. Every Turing machine computes a certain fixed partial computable function from the input strings over its alphabet.
