Short Code (computer language): Difference between revisions

Content deleted Content added
Improved the English a little.
 
(79 intermediate revisions by 63 users not shown)
Line 1:
{{Short description|Early higher-level language for electronic computers}}
{{Cleanup|November 2006}}
:''This article is {{about |the early computer language Short Code. For |the use of this term in connection with telecommunications, see [[|Short code]]''.}}
{{Infobox programming language
| name = Short Code
| paradigm =
| released = {{Start date|1950}}
| developer = William F Schmitt, A. B. Tonik, J. R. Logan
| influenced by = [[ENIAC Short Code]]
| influenced = [[Intermediate programming language]], [[OMNIBAC Symbolic Assembler]]
}}
'''Short Code''' was one of the first higher-level languages developed for an [[electronic computer]].<ref>Sebesta, R. W. Concepts of Programming languages. 2006; M6 14:18 pp. 44. {{ISBN|0-321-33025-0}}.</ref> Unlike [[machine code]], Short Code statements represented mathematic expressions rather than a machine instruction. Also known as automatic programming, the source code was not compiled but executed through an interpreter to simplify the programming process. The execution time was, naturally, much slower.<ref>Sebesta, R. W. Concepts of Programming languages. 11E; Chapter 2, pp. 39. {{ISBN|978-0133943023}}.</ref>
 
==History==
:''This article is about the early computer language Short Code. For the use of this term in connection with telecommunications, see [[Short code]]''.
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&nbsp;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&nbsp;II by A.&nbsp;B. Tonik and J.&nbsp;R. Logan.<ref>Schmitt, William F. The UNIVAC SHORT CODE. Annals of the History of Computing (1988) 10:pages 7–8.</ref>
 
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.<ref>Schmitt, William F. The UNIVAC SHORT CODE. Annals of the History of Computing (1988) 10:page 15.</ref> For example, the expression
[[John Mauchly]]'s '''Short Code''' (also called '''Short Order Code''') was the first [[programming language]]<ref name=Sebesta>Sebesta, W.S Concepts of Programming languages. 2006;M6 14:18 pp.44. ISBN# 0-321-33025-0</ref> to be actually implemented and used on electronic computing devices, first [[BINAC]] (1949) and later [[UNIVAC]] (1952).<ref name=hopl>Wexelblat, Richard L. (Ed.) (1981). <em>History of Programming Languages</em>, p. 9. New York: Academic Press. ISBN 0-12-745040-8</ref> Prior to this, computers were programmed manually in [[machine code]]. Short Code allowed programmers to use an interpreted [[pseudocode]] supported by a library of [[subroutines]].
 
<syntaxhighlight lang="c">
Short Code was the predecessor to [[Speedcoding]], which extended Short Code by allowing for floating point calculations, and providing code representation for the four calculation operators (addition, subtraction, multiplication, and division). [[Grace Murray Hopper]] cites it as an influence on her early [[compiler]] work.<ref name=hopl/>
a = (b + c) / b * c
</syntaxhighlight>
 
was converted to Short Code by a sequence of substitutions and a final regrouping:
 
<syntaxhighlight lang="c">
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.</syntaxhighlight><syntaxhighlight lang="text">
07Y10204X1Y1 group into 12-byte words.
0000X30309X1
</syntaxhighlight>
 
Along with basic [[arithmetic]], Short Code allowed for branching and calls to a library of functions. The language was [[interpreter (computing)|interpreted]] and ran about 50 times slower than [[machine code]].<ref>Malik, Masud Ahmad. Evolution of the High Level Programming Languages: A Critical Perspective. ACM SIGPLAN Notices (December 1998) 33(12) page 74.</ref>
 
== See also ==
* [[History of programming languages]]
* [[Algorithm]]
 
==References==
{{reflist}}
<div class="references-small">
<references/>
</div>
na
 
==SeeExternal alsolinks==
*[http://www Wexelblat, Richard L.byte (Ed.com/art/9509/sec7/art19) (1981).htm A Brief ''History of Programming Languages]'', p.&nbsp;9. New York: Academic Press. {{ISBN|0-12-745040-8}}
* {{Cite web|url=http://hopl.info/showlanguage.prx?exp=2707&language=SHORT%20CODE|title=Short Code|last=|first=|date=|website=hopl.info|access-date=2018-05-20}}
*[http://www.uow.edu.au/~hasan/buss930/prog/prlangs1.htm A Brief History of Computing Languages]
*[http://hopl.murdoch.edu.au/findlanguages2.prx?id=us&which=ByCountry&ByYear=Yes The Encylopedia of Computer Languages]
 
[[Category:HistoricalProcedural programming languages]]
[[Category:Programming languages created in 1950]]