The idea arose from the difficulty of programming the IBM SSEC machine when Backus was hired to calculate astronomical positions in early 1950. The speedcoding system was an interpreter and focused on ease of use at the expense of system resources. It provided pseudo-instructions for common mathematical functions: logarithms, exponentiation, and trigonometric operations. The resident software analyzed pseudo-instructions one by one and called the appropriate subroutine. Speedcoding was also the first implementation of decimal input/output operations. Although it substantially reduced the effort of writing many jobs, the running time of a program that was written with the help of Speedcoding was usually ten to twenty times that of machine code. The interpreter took 310 memory words, about 30% of the memory available on a 701.
Backus, John W.; Harlan, Herrick (May 1954). "IBM 701 Speedcoding and Other Automatic-programming Systems". Proc. Symp. on Automatic Programming for Digital Computer. Washington DC, The Office of Naval Research. pp. 106–113.
Sammet, Jean E. (1969). Programming Languages: History and Fundamentals. Prentice-Hall.