@book{priestley_science_2010,
	address = {New York and London},
	series = {History of computing},
	title = {A {Science} of {Operations}: {Machines}, {Logic} and the {Invention} of {Programming}},
	isbn = {978-1-84882-554-3 978-1-84882-555-0},
	publisher = {Springer},
	author = {Priestley, Mark},
	year = {2010},
	note = {OCLC: ocn653087381}
}

Chapter 8: The Invention of Programming Languages

8.2 The Semantics of Pseudocodes

Translation

[BL: Appearance of the translation metaphor]

“In cases where the pseudocode did not so closely resemble machine code, the notion of translation was often invoked to explain the relationship between the two. This was initially understood as a run-time process of interpretation; in his initial proposal for what developed into Short Code, Mauchly wrote that the computer on which the code ran ‘must be provided with routines for interpreting this special code, and for executing the indicated instructions.’

[BL: Development of the translation metaphor]

“[U]nlike the EDSAC’s interpretive orders, Short Code was understood to be a new linguistic formalism, one which was distinct from the underlying machine code. One consequence of this recognition was that the informal idea of interpretation developed into a more formal notation [BL: does Priestley mean notion?] of translation, and became applied to a wider range of situations. In 1951, for example, Jack Good asked whether anybody had ‘studied the possibility of programme-translating programmes, i.e. given machines A and B, to produce a programme for machine A which will translate programmes for machine B into programmes for machine A.’ [Source: Good, discussion contribution recorded in Manchester University Computer, Inaugural Conference, July 1951.] In 1952, a group at Manchester described their work on developing a code for a new machine in precisely these terms, claiming that they were ‘developing a scheme which will enable us to test the new programmes on the old machine and this will be done by means of an interpretative [sic][BL: ‘sic’ is Priestley’s] scheme which translates the new routine from the new code back into the code of the existing machine’.” [Source: Bennett, Prinz, Woods, “Interpretative Sub-routines” (1952) (190)

[Function of the translation metaphor]

“Translation is usually thought of as a meaning-preserving relationship between expressions in distinct languages. Applying the translation metaphor to interpretive routines encouraged people to think of programming codes as languages in their own right: in the same year, Earl Isaac made this idea explicit, stating as a general principle that ‘[c]oding for digital computers is a process of translating from one language to another’” [Source: Isaac, “Machine Aids to Coding,” 1952] (190). Priestley’s footnote: “‘Coding’ is here used to refer [to] the generation of machine code, not simply writing a program” (190n18).