Information Technology Reference
In-Depth Information
programs written in A-0 to UNIVAC machine code. The results, she reported,
were mixed:
The A-0 compiler worked, but the results were far too inefficient to be
commercially acceptable. Even quite simple programs would take as long as
an hour to translate, and the resulting programs were woefully slow.
9
However Hopper remained an energetic advocate for
automatic programming
, in
which the computer generates the machine code from a program written in a
“high-level” programming language. She and her team therefore persevered
with the development of the A-0 language and its compiler. In 1955, the com-
pany released the MATH-MATIC language for the UNIVAC (
Fig. 3.6
), and a news
release declared, “Automatic programming, tried and tested since 1950, elimi-
nates communication with the computer in special code or language.” These
attempts in the early 1950s had shown that the outstanding problem in pro-
gramming technology was to produce a compiler that could generate programs
as good as those written by an experienced assembly language or machine code
programmer. Enter John Backus and IBM (
B.3.5
).
IBM introduced its 704 computer for scientific applications in 1954. A
major advance in the architecture of the 704 was that the hardware included
dedicated circuits to perform the operations needed to handle
floating-point
numbers
- numbers containing fractions in which the decimal point is moved
to a standard position in order to simplify the hardware required to manip-
ulate such fractional numbers - and not just integers (whole numbers). Now
programmers could add, subtract, multiply, and divide real numbers as eas-
ily as performing these same operations with integers, without having to call
on complex subroutines to do these operations. Backus had been developing
an assembly language for another IBM computer, but in late 1953 he sent
a proposal to his manager suggesting the development of what he called a
“higher level language” and compiler for the IBM 704. It is interesting that
Backus made the case for such a language mainly on economic grounds,
arguing that “programming and debugging accounted for as much as three-
quarters of the cost of operating a computer; and obviously as computers got
cheaper, this situation would get worse.”
10
The project was approved, and the FORTRAN - for FORmula TRANslation -
project began in early 1954. Producing code that was nearly as good as that
written by an experienced machine code programmer was always the overrid-
ing goal of Backus's team:
Fig. 3.6. In 1955, Hopper and her team
released the MATH-MATIC language for
the UNIVAC. MATH-MATIC was one of
the first higher-level languages above
assembly language to be developed.
We did not regard language design as a difficult problem, merely a simple
prelude to the real problem: designing a compiler which could produce
efficient [binary] programs. Of course one of our goals was to design a language
which would make it possible for engineers and scientists to write programs
for the 704. We also wanted to eliminate a lot of the bookkeeping and detailed
repetitive planning which hand coding [in assembly language] involved.
11
B.3.5. John Backus (1924-2007), a
computer scientist at IBM, developed
FORTRAN, the first programming
language that enabled scientists
and engineers to write their own
programs.
In April 1957, the language and the compiler were finished. The compiler con-
sisted of about twenty thousand lines of machine code and had taken a team of
about a dozen programmers more than two years to produce.
Search WWH ::
Custom Search