Information Technology Reference
In-Depth Information
become increasingly important as systems get more complex and coding
becomes more automatic.” 25 Although Goldstine and von Neumann had
envisioned a clear division of labor between planners and coders, in
reality this boundary became increasingly indistinct. The clear implica-
tion of recent experience, in both scientifi c computation and business
data processing, was that programmers should be given more responsi-
bility for design and analysis, the idea that coding could be left to less-
experienced or lower-grade personnel was “erroneous,” and “the human
element is crucial in programming.” 26 Indeed, by the mid-1950s, a new
model for programming had emerged that emphasized individual exper-
tise and creativity. During this period computers remained a primarily
scientifi c and military technology, and computer programming as a dis-
cipline retained a close association with the practice of mathematics. The
limitations of early hardware devices usually meant that a simple pro-
gramming problem could quickly turn into a research excursion into
algorithm theory and numerical analysis. Computer programmers devel-
oped a reputation for creativity and ingenuity. Contemporary storage
devices were so slow and had such little capacity that programmers had
to develop great skill and craft knowledge to fi t their programs into the
available memory space. As John Backus (the IBM researcher best known
as the inventor of the FORTRAN programming language) would later
describe the situation, “Programming in the 1950s was a black art, a
private arcane matter. . . . [E]ach problem required a unique beginning
at square one, and the success of a program depended primarily on the
programmer's private techniques and inventions.” 27
The notion that programming was a black art pervades the literature
from this period. There are several reasons why programming was so
diffi cult. To begin with, the programmer had to develop an algorithm
suitable to the problem at hand. Since the primary purpose of the
earliest computers was to produce solutions to complex mathematical
functions that could not be solved analytically, these programs necessar-
ily required skill in numerical analysis. Numerical analysis is the set of
tools that mathematicians have developed to provide approximate solu-
tions to otherwise-insoluble equations. This process of analysis was itself
something of an art form: numerical solutions always involved a
compromise between speed and accuracy—even when using the fastest
computers. Choosing the right approximation required the programmer
to balance acceptable error against the specifi c limitations of a given
machine.
Search WWH ::




Custom Search