Information Technology Reference
In-Depth Information
overwritten by the return address of the second and so on. To overcome this
difficulty, computer scientists introduced the idea of a group of sequential stor-
age locations linked together to operate as a memory stack ( Fig. 3.4 ). The memory
stack functions much like a stack of dinner plates: plates can only be added or
removed at the top of the stack. This is an example of a simple data structure
that is useful in many applications. It is called a LIFO stack , which stands for
Last In, First Out. This data structure is able to handle the storage of the return
addresses of nested subroutines.
The conditional jump instruction introduces two powerful new concepts
for programmers: loops and branches . With a conditional jump, the program only
performs the jump if a certain condition is met; if not, the program continues
down the original path. A loop is where a block of code is executed a specified
number of times. This can be done by keeping a tally called a loop count that is
increased by one on each pass through the code. At the end of each block of
code, the loop count is tested to see if the specified number of repetitions has
been carried out: if not, the program is sent back to the beginning of the loop.
A branch is just what it says: the choice of what section of code to execute is
made depending on the result of the condition.
In 1951, Maurice Wilkes, with David Wheeler and Stanley Gill, wrote
up their experiences in teaching programming. Their topic The Preparation of
Programs for an Electronic Digital Computer was the first textbook on computer
programming. Also in the same year, Wheeler was awarded the first PhD in
computer science for his work with the EDSAC.
Fig. 3.4. The information stored in a
computer's memory is much like a stack
of plates. Just as we can add or take
plates only from the top of the stack, the
last data added to memory must be the
first removed.
FORTRAN and COBOL: The story of John Backus
and Grace Hopper
Although the computing fraternity was very much male-dominated in the
early years, there were a few influential pioneers who were women. Probably
the most famous is Grace Hopper, or Rear Admiral Professor Grace Hopper as
she later became ( B.3.3 ). Hopper received her PhD in mathematics
from Yale University in 1934 and was teaching at Vassar College in
Poughkeepsie, New York, when the United States entered World
War II. She enlisted in the Naval Reserve in December 1943 and
graduated at the top of her class in June 1944.
The Harvard Mark I of Howard Aiken had been commandeered
for the war effort, and Aiken was now a Naval Reserve commander
( B.3.4 ). He liked to say that he was the first naval officer in history
who commanded a computer. Although Aiken's machine was not
very influential on the future development of digital computers,
Aiken was one of the first to recognize the importance of program-
ming as a discipline. He persuaded Harvard to start the first master's
degree courses in what would now be called computer science. In
addition he insisted that the Mark I project be staffed with trained
mathematicians. And this is how Lieutenant Grace Hopper of the U.S.
Navy found herself being greeted by Aiken in the summer of 1944:
B.3.3. Grace Hopper (1906-92), an American
computer scientist, led the team that developed
COBOL, the first programming language for business
that allowed programmers to use everyday words.
[Howard Aiken] waved his hand and said: “That's a computing
machine.” I said, “Yes, Sir.” What else could I say? He said he would
 
Search WWH ::




Custom Search