Speedcoding
Speedcoding or Speedcode was the first high-level programming language created for an IBM computer.[1] The language was developed by John Backus in 1953 for the IBM 701 to support computation with floating point numbers.[2] Here high level means symbolic and aiming for natural language expressivity as a goal as opposed to machine or hardware instruction oriented coding.
Paradigm | structured, object-oriented, generic |
---|---|
Designed by | John Backus |
Developer | John Backus and IBM |
First appeared | 1953 |
Typing discipline | strong, static, manifest |
Influenced by | |
Assembly language, machine code | |
Influenced | |
Fortran, ALGOL 58, BASIC, C, PL/I, PACT I, MUMPS, Ratfor |
The idea arose from the difficulty of programming the IBM SSEC machine when Backus was hired to calculate astronomical positions in early 1950.[3] 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.[4] The interpreter took 310 memory words, about 30% of the memory available on a 701.[1]
References
- F. E. Allen (September 1981). "The History of Language Processor Technology in IBM". IBM Journal of Research and Development. 25 (5): 535–548. doi:10.1147/rd.255.0535.
- Shasha, Dennis; Cathy Lazere (1998). Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists. New York: Springer-Verlag New York, Inc. ISBN 0-387-98269-8.
- Interviewed by Grady Booch (September 5, 2006). "Oral History of John Backus" (PDF). Reference number: X3715.2007. Computer History Museum. Retrieved April 23, 2011.
- Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM's 360 and early 370 systems, MIT Press, 1991, ISBN 0-262-16123-0, p. 38
Further reading
- Backus, John, "The IBM 701 Speedcoding System", Journal of the ACM, Volume 1, Issue 1 (January 1954), pp. 4–6,
- 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.