It Began with Babbage

It Began with Babbage by Subrata Dasgupta

Book: It Began with Babbage by Subrata Dasgupta Read Free Book Online
Authors: Subrata Dasgupta
compiler; the “human coder” was not theFORTRAN programmer but the programmer in the 704’s assembly (or machine) language. Vocabulary was being refined.
    Soon after the preliminary report was written, Backus and two of his language code-signers gave talks on FORTRAN to groups of IBM customers in various cities—customers who had ordered the IBM 704 (which had been announced around May 1954). By and large, they found their audience skeptical about this new prospect. 41
    The design and implementation of the FORTRAN compiler (still called
translator
, at the time)—written in the “native” language of the IBM 701 that would execute the compiler—began in earnest in early 1955. 42 By summer 1956, “large parts of the system was working.” 43 The complete compiler was available in early 1957. 44 Also in summer 1956, David Sayre (1924–2012), a PhD in crystallography from Oxford University, began writing a document describing the language. The outcome was the
Programmer’s Reference Manual
(1956). 45 In early 1957, Backus and his whole group presented a paper on the FORTRAN system at the Western Joint Computer Conference in Los Angeles, California. 46 That same year, the
Programmer’s Primer
for the FORTRAN system was published by IBM. 47
IX
    The FORTRAN language as it was originally conceived in 1954 to 1956 (Backus called it FORTRAN
I
48 ) would evolve in its features and capabilities over several versions: FORTRAN II, III, and IV; it spawned other “dialects.” It became, among other things, a machine-independent or high-level language. To speak later of FORTRAN was to speak of a language genus, one might say. However, the fundamental and unmistakable
style
of this genus was established with the original ancestor. We get a sense of this style in the little and trivial program written in the “original” FORTRAN shown in Table 13.1 .
    This program reads an array of 20 integers into an array data structure
A
. It then initializes
X, Y, Z
, and
W
to zero, then scans in sequence the integers in
A
and keeps count (in
X
) of the number of integers that are between –50 and + 50 and tallies the total of these numbers in
Y
. It also keeps count of the number of integers that fall outside the range in a separate counter (
Z
) and also adds the total of these numbers in
W
. When all 20 numbers in
A
have been accounted for, it prints out the values of the counters and the corresponding totals and stops.
    The formulaic nature of most of these
statements
—by 1956, this word was used to refer to each of the basic meaningful units of action, although they were originally called formulas, 49 hence, no doubt, the name of the language—is quite apparent. Yet, algebraic or formulaic though they seemed, they were not mathematical expressions but descriptions of actions to be performed by a computer.
X
=
X
+ 1 is not an algebraic expression in FORTRAN (indeed, mathematically or logically it would not make sense); rather, it signifies an action. The = is not the mathematical equality symbol; it denotes the assignment operation, synonymous with Zuse’s => in Plankalkül (see Section III, this chapter). The statement means: Read the value of the variable
X
, increment by one, and write the resulting value into
X
.
    TABLE 13.1 A FORTRAN Program
 
DIMENSION A(20)
 
READ A
 
X=0
 
Y=0
 
Z=0
 
W=0
 
DO 2 I=1,20
 
IF ABS(A(I)) > 50 GO TO 1
 
X=X+1
 
Y=Y+A(I)
 
GO TO 2
1
Z=Z+1
 
W=W+A(I)
2
CONTINUE
 
PRINT X,Y
 
PRINT Z,W
 
STOP
----
    Other statements in Table 13.1 , such as the
DO
or
IF
would seem, however, less transparent to the neophyte FORTRAN user; the former denotes an iteration, the latter a conditional branch. The purpose of the FORTRAN
Programmer’s Reference Manual
was to explain
all
aspects of the language for the user’s benefit. Such an explanation took the form of first specifying the legal form of each

Similar Books

Carnival

J. Robert Janes

Bitten By Mistake

Annabelle Jacobs

The Beauty

Jane Hirshfield

Redemption

Sherrilyn Kenyon

Nurjahan's Daughter

Tanushree Podder

Whole Wild World

Tom Dusevic