Software
The principal high-level programming languages were GEORGE, ALPHACODE, STEVE, TIP, GIP, and Algol. Assembler language translators included ZP43 and STAC.
Invented by Charles Leonard Hamblin in 1957, GEORGE was closest to present-day programming languages. It used Reverse Polish Notation. For example, to evaluate e = ay2 + by + c, one wrote
a y dup × × b y × + c + (e).where "dup" duplicates the previous entry, being the same as using "y" here.
GEORGE provided a 12-position accumulator as a push-down pop-up stack. Using a variable name in a program (e.g., 'd') brought the value of variable 'd' into the accumulator (i.e., pushed d onto the top-of-stack), while enclosing a name in parentheses {e.g., (d) } assigned to variable 'd' the value at the top of the stack (accumulator). To destroy (pop and discard) the value at the top of the stack, the semicolon (;) was used. The following GEORGE program reads in ten numbers and prints their squares:
1, 10 rep (i) read dup × punch ; ]In the above program, the "dup" command duplicated the top of the stack, so that there were then two copies of the value at the top of the stack.
GIP (General Interpretive Programme) was a control program for manipulating programs called "bricks". Its principal service was in the running of programs from the several hundred in the DEUCE linear algebra library. Preparation of such a program involved selecting the required bricks (on punch cards), copying them and GIP in a reproducing punch, and assembling the copies into a deck of cards. Next, simple codewords would be written to use the bricks to perform such tasks as: matrix multiplication; matrix inversion; term-by-term matrix arithmetic (addition, subtraction, multiplication, and division); solving simultaneous equations; input; and output. The dimensions of matrices were never specified in the codewords. Dimensions were taken from the matrices themselves, either from a card preceding the data cards, or from the matrices as stored on drum. Thus, programs were entirely general. Once written, such a program handled any size of matrices (up to the capacity of the drum, of course).
Read more about this topic: English Electric DEUCE