Concepts of Programming Languages

(Sean Pound) #1

42 Chapter 2 Evolution of the Major Programming Languages


2.2.4 Related Work


Other means of easing the task of programming were being developed at about
the same time. At Cambridge University, David J. Wheeler (1950) developed
a method of using blocks of relocatable addresses to solve, at least partially, the
problem of absolute addressing, and later, Maurice V. Wilkes (also at Cam-
bridge) extended the idea to design an assembly program that could combine
chosen subroutines and allocate storage (Wilkes et al., 1951, 1957). This was
indeed an important and fundamental advance.
We should also mention that assembly languages, which are quite different
from the pseudocodes discussed, evolved during the early 1950s. However, they
had little impact on the design of high-level languages.

2.3 The IBM 704 and Fortran


Certainly one of the greatest single advances in computing came with the
introduction of the IBM 704 in 1954, in large measure because its capabilities
prompted the development of Fortran. One could argue that if it had not been
IBM with the 704 and Fortran, it would soon thereafter have been some other
organization with a similar computer and related high-level language. How-
ever, IBM was the first with both the foresight and the resources to undertake
these developments.

2.3.1 Historical Background


One of the primary reasons why the slowness of interpretive systems was tol-
erated from the late 1940s to the mid-1950s was the lack of floating-point
hardware in the available computers. All floating-point operations had to be
simulated in software, a very time-consuming process. Because so much pro-
cessor time was spent in software floating-point processing, the overhead of
interpretation and the simulation of indexing were relatively insignificant. As
long as floating-point had to be done by software, interpretation was an accept-
able expense. However, many programmers of that time never used interpre-
tive systems, preferring the efficiency of hand-coded machine (or assembly)
language. The announcement of the IBM 704 system, with both indexing and
floating-point instructions in hardware, heralded the end of the interpretive
era, at least for scientific computation. The inclusion of floating-point hard-
ware removed the hiding place for the cost of interpretation.
Although Fortran is often credited with being the first compiled high-
level language, the question of who deserves credit for implementing the first
such language is somewhat open. Knuth and Pardo (1977) give the credit to
Alick E. Glennie for his Autocode compiler for the Manchester Mark I com-
puter. Glennie developed the compiler at Fort Halstead, Royal Armaments
Research Establishment, in England. The compiler was operational by Sep-
tember 1952. However, according to John Backus (Wexelblat, 1981, p. 26),
Free download pdf