Information Technology Reference
In-Depth Information
algebraic notation. The system did not actually produce program code,
however: it was an interpretative system that merely called up predefi ned
subroutines and displayed the result. Nevertheless, the Short Order Code
represented a considerable improvement over the standard binary instruc-
tion set.
In 1951 Grace Hopper, another UNIVAC employee, wrote the fi rst
automatic program compiler. Although Hopper, like many other pro-
grammers, had benefi ted from the development of a subroutine library,
she also perceived the limitations connected with its use. In order to be
widely applicable, subroutines had to be written as generically as possi-
ble. They all started at line 0 and were numbered sequentially from there.
They also used a standard set of register addresses. In order to make use
of a subroutine, a programmer had to both copy the routine code exactly
and make the necessary adjustments to the register addresses by adding
an offset appropriate to the particular program at hand. And as Hopper
was later fond of asserting, programmers were both “lousy adders”
and “lousy copyists.” 6 The process of utilizing the subroutine code
almost inevitably added to the number of errors that eventually had to
be debugged.
To avoid the problems associated with manually copying and manipu-
lating subroutine libraries, Hopper developed a system to automatically
gather subroutine code and make the appropriate address adjustments.
The system then compiled the subroutines into a complete machine
program. Her A-0 compiler dramatically reduced the time required to
put together a working application. In 1952 she extended the language
to include a simpler mnemonic interface. For example, the mathematical
statement X + Y = Z could be written as ADD 00X 00Y 00Z. Multiplying
Z by T to give W was MUL 00Z 00T 00W. The combination of an
algebraic-language interface and a subroutine compiler became the basis
for almost all modern programming languages. By the end of 1953 the
A-2 compiler, as it was then known, was in use at the Army Map Service,
Lawrence Livermore Laboratories, New York University, the Bureau of
Ships, and the David Taylor Model Basin. Although it would take some
time before automatic programming systems were universally adopted,
by the mid-1950s the technology was well on its way to becoming an
essential element of programming practice.
Over the course of the next several decades, more than a thousand
code assemblers, programming languages, and other automatic program-
ming systems were developed in the United States alone. Understanding
how these systems were used, how and to whom they were marketed,
Search WWH ::




Custom Search