Speedcoding, Speedcode or SpeedCo was the first
high-level programming language
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be easier to ...
created for an
IBM computer.
The language was developed by
John W. Backus in 1953 for the
IBM 701
The IBM 701 Electronic Data Processing Machine, known as the Defense Calculator while in development, was IBM’s first commercial scientific computer and its first series production mainframe computer, which was announced to the public on May ...
to support computation with
floating point numbers.
The idea arose from the difficulty of programming the
IBM SSEC
The IBM Selective Sequence Electronic Calculator (SSEC) was an electromechanical computer built by IBM. Its design was started in late 1944 and it operated from January 1948 to August 1952. It had many of the features of a stored-program computer, ...
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.
See also
*
PACT (compiler)
*
Short Code (computer language)
Notes
References
Further reading
* (48 pages)
*
*
*
Procedural programming languages
Numerical programming languages
IBM software
Programming languages created in 1953
{{Soft-eng-stub