Jump to content

Short Code (computer language)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 42.241.66.146 (talk) at 07:21, 29 June 2020 (Corrected the spelling of "William F. Schmitt" in the infobox -- he's the same William Schmitt who authored the sources, he refers to himself in first person in "The UNIVAC SHORT CODE"). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Short Code
DeveloperWilliam F Schmitt, A. B. Tonik, J. R. Logan
First appeared1950 (1950)
Influenced by
ENIAC Short Code
Influenced
Intermediate programming language, OMNIBAC Symbolic Assembler

Short Code was one of the first higher-level languages ever developed for an electronic computer.[1] Unlike machine code, Short Code statements represented mathematic expressions rather than a machine instruction. Also known as an automatic programming, the source code was not compiled but executed through an interpreter to simplify the programming process; the execution time was much slower though.[2]

History

Short Code was proposed by John Mauchly in 1949 and originally known as Brief Code. William Schmitt implemented a version of Brief Code in 1949 for the BINAC computer, though it was never debugged and tested. The following year Schmitt implemented a new version of Brief Code for the UNIVAC I, where it was now known as Short Code (also Short Order Code). A revised version of Short Code was developed in 1952 for the Univac II by A. B. Tonik and J. R. Logan.[3]

While Short Code represented expressions, the representation itself was not direct and required a process of manual conversion. Elements of an expression were represented by two-character codes and then divided into 6-code groups in order to conform to the 12-byte words used by BINAC and Univac computers.[4] For example, the expression

a = (b + c) / b * c

was converted to Short Code by a sequence of substitutions and a final regrouping:

X3 =  (  X1 +  Y1 )  /  X1 * Y1   substitute variables
X3 03 09 X1 07 Y1 02 04 X1   Y1   substitute operators and parentheses. 
                                       Note that multiplication is
                                       represented by juxtaposition.
07Y10204X1Y1                      group into 12-byte words.
0000X30309X1

Along with basic arithmetic, Short Code allowed for branching and calls to a library of functions. The language was interpreted and ran about 50 times slower than machine code.[5]

See also

References

  1. ^ Sebesta, R. W. Concepts of Programming languages. 2006; M6 14:18 pp. 44. ISBN 0-321-33025-0.
  2. ^ Sebesta, R. W. Concepts of Programming languages. 11E; Chapter 2, pp. 39. ISBN 978-0133943023.
  3. ^ Schmitt, William F. The UNIVAC SHORT CODE. Annals of the History of Computing (1988) 10:pages 7–8.
  4. ^ Schmitt, William F. The UNIVAC SHORT CODE. Annals of the History of Computing (1988) 10:page 15.
  5. ^ Malik, Masud Ahmad. Evolution of the High Level Programming Languages: A Critical Perspective. ACM SIGPLAN Notices (December 1998) 33(12) page 74.
  • Wexelblat, Richard L. (Ed.) (1981). History of Programming Languages, p. 9. New York: Academic Press. ISBN 0-12-745040-8
  • "Short Code". hopl.info. Retrieved 2018-05-20.