Professional Documents
Culture Documents
HopperAutoCodingPaper 1955
HopperAutoCodingPaper 1955
HopperAutoCodingPaper 1955
DIGITAL COMPUTERS
A TALK PRESENTED AT
THE HIGH SPEED COMPUTER
CONFERENCE, LOUISIANA STATE
UNIVERSITY, 16 FEBRUARY 1955
BY
- 1 -
supplies the programmer with Slml- may be reduced from a matter of
lar facilities not only with re- weeks to a mat ter of minutes. Thus,
spect" to the mathematics or pro- the need for some type of automa-
cessing used, but alsO with re- tic coding is clear.
spect to using the equipment. For
example, a generator may be pro- Actually, it has been evident ever
vided to make editing routines to since the first digital computers
prepare data for printing, or a first ran. Anyone who has been
generator may be supplied to pro- coding for more than a month has
duce sorting routines. found himself wan ting to use pieces
of one problem in another. Every
It is in the third phase that auto- programmer has detected like se-
matic coding comes into its own, quences of operations. There is a
for here it can release the coder ten year history of attemps to
from most of the routine and drud- meet these needs.
gery of producing the instruction
code. It may, someday, replace Th e sub ro uti ne, the pie ceo f cod i n g ,
the coder or release him to become required to calculate a particular
a programmer. Haster or execu ti ve function can be wired into the com-
rou tines can be designed whi ch will puter and an instruction added to
withdraw subroutines and generators the computer code. However, this
from a library of such routines construction in hardware is costly
and link them together to form a and only the most frequently used
running program. routines can be treated in this
manner. Mark I at Harvard included
If a routine is produced by a mas- several such routines -- sin x,
ter routine from library components, loglOx, lOx. However, they had
it does not require the fourth one fault, they were inflexible.
phase--debugging--from the point Always, they delivered complete
of view of the coding. Since the accuracy to twenty-two digits.
library routines will all have Always, they treated the most
been checked and the compiler general case. Other computers,
checked, no errors in coding can be Mark II and SEAC have included
introduced into the program (all square roots and other subroutines
of which presupposes a completely partially or wholly built in. But
checked computer). The only bugs such subroutines are costly and
that can remain to be detected and invariant and have come to be used
exposed are those in the logic of only when speed without regard to
the original statement of the cost is the primary consideration.
p rob lem.
It was in the ENIAC that the first
Thus, one advantage of automatic use of programmed subroutines
coding appears, the reduction of appeared. When a certain series
the computer time required for of operations was completed, a
debugging. A still greater ad- test could be made to see whether
vantage, however, is the replace- or not it was necessary to repeat
ment of the coder by the computer. them and sequencing control could
It is here that the significant be transferred on the basis of
time reduction appears. The com- this test, either to repeat the
puter processes the uni ts of coding operationsorgo on to another set.
as it does any other units of data
--accurately and rapidly. The At Harvard, Dr. Aiken had en-
elap sed time from a programmer I s visioned libraries of subroutines.
flow chart to a running routine At Pennsylvania, Dr. Mauchly had
- 2 -
discussed the techniques of in- (1) Interpretive routines which
structing the computer to program translate a machine-like pseudo~
itself. At Princeton, Dr. von code into machine code, refer to
Neumman had pointed out that if stored subroutines and execute them
the instructions were stored in as the computation proceeds -- the
the same fashion as the data, the MIT Summer Session Computer, 701
computer could then operate on Speed-Code, UNIVAC Short-Code are
these instructions. However, it examples.
was not until 1951 that Wheeler,
Wilkes, and Gill in England, pre- (2) Compiling routines, which also
paring to run the EDSAC, first set read apseudo-code, but which with-
up standards, created a library, draw subroutines from a library and
and the required satelli te routines operate upon them, finally linking
and wro te a book abou t i t , "The the pieces together to deliver, as
Preparation of Programs for Elec- output, acomplete specific program
t ronic Digi tal Compu ters". In this for future running -- UNIVAC A --
country, comprehensive automatic compilers, BIOR, and the NYU Com-
techniques first appeared at MIT, piler System.
where routines to facilitate the
use of Whirlwind I by students of (3) Generative routines may be
computers and programming were called for by compilers, or may be
developed. independent routines. Thus, a
compiler may call upon a generator
Many different automatic coding to produce a specific input routine.
systems have been developed - See- Or, as in the sort-generator, the
saw, Dual, Speed-Code, the Boeing submission of the specifications
Assembly, and others for the 701, such as item-size, posi tion of key-
the A--series of compilers for the word, etc. instructs the generator
UNIVAC, the Summer Session Compu ter top roduce a rou tine to perform
for Whirlwind, MAGIC for the MIDAC the desired operation. The UNIVAC
and Transcode for the Ferran ti Com- sort-generator, the work of Betty
puter at Toronto. The list is long Holberton, was the first major
and rapidly growing longer. In automatic routine to be completed.
the process of development are It was finished in 1951 and has
Fortran for the 70~, BIOR and GP been in constant use ever since.
for the UNIVAC, a system for the 705, At the University of California
and many more. In fact, all manu- Radiation Laboratory, Livermore,
facturers now seem to be including an editing generator was developed
an announcement of the form, by Merrit Ellmore--later a routine
was added to even generate the
II ali bra r y 0 f sub ro uti n e s for pseudo-code.
standard mathematical analysis
operations is available to users", The type of automatic coding used
for a particular computer is to
"interpretive subroutines, easy some extent dependent upon the
program debugging - .. , - auto- facilities of the computer itself.
matic program assembly techniques The early computers usually had
can be used." but a single input-output device,
sometimes even manually operated.
The automatic routines fall into It was customary to load the com-
three major classes. Though some puter wi th program and data, per-
may exhibit characteristics of one mit it to "cook" on them, and when
or more, the classes may be so de- it signalled completion, the re-
fined as to distinguish them. sults were unloaded. This pro-
- 3 -
cedure led to the development of with the A--series, will make it
the interpretive type of routine. possible to produce better compil-
SUbroutines were stored in closed ing systems. Currently, under the
form and a main program referred direction of Dr. Herbert F. Mit-
to them as they were requi red. Such chell, Jr., the BIOR compiler is
a procedure conserved valuable in- being checked out. This is the
ternal storage space and speeded pioneer--the first of the true
the problem solution. data-processing compilers.
- 4 -
takes, to check for them, and will remain common and therefore
to detec t them. are the first that are being devel-
oped.
The ultimate pseudo-code is not yet
in sight. There probably will be There is little doubt that the
at least two in common use; one development of automatic coding
for the scientific, mathematical will influence the design of com-
and engineering problems using a puters. In fact, rt is already
pseudo-code closely approximating happening. Instructions will be
mathematical symbolism; and a added to facilitate such coding.
second, for the data-processing, Instructions added only for the
commercial, business and accoun t ing convenience of the programmer will
problems. In all likelihood, the be omitted since the computer,
latter will approximate plain rather than the programmer, will
English. write the detailed coding. How-
ever, all this will not be complet-
The standardization of pseudo-code ed tomorrow. There is much to be
and corresponding subroutine is learned. So far as each group has
simple for mathematical problems. completed an interpreter or com-
As a pseudo-code IIsin XII is prac- piler, they have discovered in
tical and sui table for II compu te the using it "what t hey really wan ted
sine of x II, "PWTII is equally ob- to doll. Each executive routine
vious for "compu t e Ph iladelph ia produced has lead to the writing
Wage Tax", but very few commercial of specifications for a better
subroutines can be standardized in routine.
such a fashion. It seems likely
that a pseudo-code IIgross-pay" will 1955 will mark the completion of
call f or a differen t sub rou tine in several ambitious executive rou-
every installation. In some cases, tines. It will also see the
not even the vocabulary will be specifications prepared by each
common since one computer will be group for much better and more ef-
producing pay checks and another ficient routines since testing in
maintaining an inventory. use is necessary to discover these
specifications. However, the rou-
Thus, future compiling routines tines now being completed will
must be independent of the type materially reduce the time required
of program to be produced. Just as for problem preparation; that is,
there are now general-purpose com- the programming, coding, and debug-
puters, there will have to be gen- ging time. One warning must be
eral-purpose compilers. Auxiliary sounded, these routines cannot de-
to the compilers will be vocabul- fine a problem nor adapt it to a
aries of pseudo-codes and corres- computer. They only eliminate the
ponding volumes of subroutines. clerical part of the job.
These volumes may differ from one
installation to another and even Analysis, programming, definition
within an installation. Thus, a of a problem required 85%, coding
compiler of the future will have a and debugging 15%, of the pre-
volume of floating-decimal mathe- paration time. Automatic coding
matical subroutines, a volume of materially reduces the latter time.
inventory routines, and a volume It assists the programmer by de-
of payroll routines. While gross- fining standard procedures which
pay may appear in the payroll vol- can be frequently used. Please
ume both at installation A and at remember, however, that automatic
installation B, the corresponding programming does not imply that it
subroutine or standard input item is now possible to walk up to a
may be completely different in the c ompu ter, say "wri te my payroll
two volumes. Certain more general chec ks ", and push a but ton. Such
routines, such as input-output, efficiency isstill in the science-
editing, and sorting generators fiction future.
- 5 -
ECD - 1