Short Code (computer language)

Last updated
Short Code
Developer William 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 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]

Contents

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*Y1substitutevariablesX30309X107Y10204X1Y1substituteoperatorsandparentheses.Notethatmultiplicationisrepresentedbyjuxtaposition.
 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

Related Research Articles

<span class="mw-page-title-main">ASCII</span> American character encoding standard

ASCII, an acronym for American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. ASCII has just 128 code points, of which only 95 are printable characters, which severely limit its scope. The set of available punctuation had significant impact on the syntax of computer languages and text markup. ASCII hugely influenced the design of character sets used by modern computers, including Unicode which has over a million code points, but the first 128 of these are the same as ASCII.

<span class="mw-page-title-main">Assembly language</span> Low-level programming language

In computer programming, assembly language, often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported.

In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) is the problem of determining if there exists an interpretation that satisfies a given Boolean formula. In other words, it asks whether the variables of a given Boolean formula can be consistently replaced by the values TRUE or FALSE in such a way that the formula evaluates to TRUE. If this is the case, the formula is called satisfiable. On the other hand, if no such assignment exists, the function expressed by the formula is FALSE for all possible variable assignments and the formula is unsatisfiable. For example, the formula "a AND NOT b" is satisfiable because one can find the values a = TRUE and b = FALSE, which make (a AND NOT b) = TRUE. In contrast, "a AND NOT a" is unsatisfiable.

<span class="mw-page-title-main">Fortran</span> General-purpose programming language

Fortran is a third generation, compiled, imperative programming language that is especially suited to numeric computation and scientific computing.

<span class="mw-page-title-main">Programming language</span> Language for communicating instructions to a machine

A programming language is a system of notation for writing computer programs.

<span class="mw-page-title-main">Simula</span> Early object-oriented programming language

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 60, and was also influenced by the design of Simscript.

BBC BASIC is an interpreted version of the BASIC programming language. It was developed by Acorn Computers Ltd when they were selected by the BBC to supply the computer for their BBC Literacy Project in 1981.

<span class="mw-page-title-main">John Mauchly</span> American physicist and computer scientist (1907–1980)

John William Mauchly was an American physicist who, along with J. Presper Eckert, designed ENIAC, the first general-purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the first commercial computer made in the United States.

BINAC is an early electronic computer that was designed for Northrop Aircraft Company by the Eckert–Mauchly Computer Corporation (EMCC) in 1949. Eckert and Mauchly had started the design of EDVAC at the University of Pennsylvania, but chose to leave and start EMCC, the first computer company. BINAC was their first product, the first stored-program computer in the United States; BINAC is also sometimes claimed to be the world's first commercial digital computer even though it was limited in scope and never fully functional after delivery.

<span class="mw-page-title-main">UNIVAC I</span> First general-purpose computer designed for business application (1951)

The UNIVAC I was the first general-purpose electronic digital computer design for business application produced in the United States. It was designed principally by J. Presper Eckert and John Mauchly, the inventors of the ENIAC. Design work was started by their company, Eckert–Mauchly Computer Corporation (EMCC), and was completed after the company had been acquired by Remington Rand. In the years before successor models of the UNIVAC I appeared, the machine was simply known as "the UNIVAC".

<span class="mw-page-title-main">UNIVAC</span> Series of mainframe computer models

UNIVAC was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and successor organizations.

<span class="mw-page-title-main">Atari BASIC</span> Dialect of the BASIC programming language

Atari BASIC is an interpreter for the BASIC programming language that shipped with Atari 8-bit computers. Unlike most American BASICs of the home computer era, Atari BASIC is not a derivative of Microsoft BASIC and differs in significant ways. It includes keywords for Atari-specific features and lacks support for string arrays.

MATH-MATIC is the marketing name for the AT-3 compiler, an early programming language for the UNIVAC I and UNIVAC II.

<span class="mw-page-title-main">UNIVAC 1103</span> Univac computer introduced in 1953

The UNIVAC 1103 or ERA 1103, a successor to the UNIVAC 1101, is a computer system designed by Engineering Research Associates and built by the Remington Rand corporation in October 1953. It was the first computer for which Seymour Cray was credited with design work.

<span class="mw-page-title-main">Ferranti Mark 1</span> First commercial electronic computer

The Ferranti Mark 1, also known as the Manchester Electronic Computer in its sales literature, and thus sometimes called the Manchester Ferranti, was produced by British electrical engineering firm Ferranti Ltd. It was the world's first commercially available electronic general-purpose stored program digital computer.

<span class="mw-page-title-main">History of programming languages</span>

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

<span class="mw-page-title-main">Z4 (computer)</span> German 1940s computer

The Z4 was arguably the world's first commercial digital computer, and is the oldest surviving programmable computer. It was designed, and manufactured by early computer scientist Konrad Zuse's company Zuse Apparatebau, for an order placed by Henschel & Son, in 1942; though only partially assembled in Berlin, then completed in Göttingen in the Third Reich in April 1945, but not delivered before the defeat of Nazi Germany, in 1945. The Z4 was Zuse's final target for the Z3 design. Like the earlier Z2, it comprised a combination of mechanical memory and electromechanical logic.

The man or boy test was proposed by computer scientist Donald Knuth as a means of evaluating implementations of the ALGOL 60 programming language. The aim of the test was to distinguish compilers that correctly implemented "recursion and non-local references" from those that did not.

There are quite a few ALGOL60 translators in existence which have been designed to handle recursion and non-local references properly, and I thought perhaps a little test-program may be of value. Hence I have written the following simple routine, which may separate the man-compilers from the boy-compilers.

The Eckert–Mauchly Computer Corporation (EMCC) was a computer company founded by J. Presper Eckert and John Mauchly. It was incorporated on December 22, 1947. After building the ENIAC at the University of Pennsylvania, Eckert and Mauchly formed EMCC to build new computer designs for commercial and military applications. The company was initially called the Electronic Control Company, changing its name to Eckert–Mauchly Computer Corporation when it was incorporated. In 1950, the company was sold to Remington Rand, which later merged with Sperry Corporation to become Sperry Rand, and survives today as Unisys.

The GEC 2050 was an 8-bit minicomputer produced during the 1970s, initially by Marconi Elliott Computer Systems of the UK, before the company renamed itself GEC Computers Limited. The first models were labeled MECS 2050, before being renamed GEC 2050.

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.