Program Design and Reusable Code in the Early 1960s
On my grandfather's 100th birthday, I am reminded of a book he wrote as a professor at the University of Iowa, along with a graduate student, in 1964, on the application of computers in medicine. In the book, he describes the process of performing an analysis on experimental data at the University of Iowa's Computer Center. There are some interesting details that illustrate the practice of program design and reusable code in those times.
In the State University of Iowa Computer Center, analysis of variance programs, written by Spiker and compatible with Lindquist's text are available on a magnetic tape in the computer program library. It is usually possible to select a standard design which will fit the experiment. This has not only the advantage of saving a great deal of time for the investigator, but such standard library programs have been tested not only by their originators but by many different users.
Since an analysis of variance is a library program, all that is required to run a particular analysis is a few additional control instructions. These instructions specify the input and output of the data, or the format as it is called, and the number of samples for each group under consideration.
We will now consider for purposes of illustration the specific computer center which contains our library routine. The State University of Iowa Computer Center is at present chiefly a closed shop. That is one in which special operators are required to operate the equipment. This specific electronic digital computer is run by means of a monitor system with magnetic tapes as the only input-output. The monitor is an automatic means of telling the computer to run in a specific and economic manner so that many different projects can be processed in one run. A smaller computer is used for all the auxiliary functions associated with handling the data such as transferring data from punched cards to magnetic tape, printing the contents of the magnetic tape and for some of the preliminary sorting of the data in order that input time for the larger computer will be as short as possible.
All that the user must do is to provide the center with the information as to the library program desired, the control statements or cards, and the appropriate set of data cards for the specific library program.
Edward E. Mason and William G. Bulgren. Computer Applications in Medicine, 1964.
- The book was written in 1964, but the first use of computers to analyze clinical data at the University of Iowa was in 1960 [Mason07].
- Using the library was only one part of the analysis, they also had to write code that normalized the input data, the code was written in FORTRAN and described by a flowchart.
- The main computer was an IBM 7070, the first transistorized computer produced by IBM. A major source of funding for the computer was for the study of satellite data related to the research of James Van Allen, for whom the Van Allen radiation belts are named. At the time only a few academic institutions had a transistorized computer of this scale.
- An IBM 1401 was used as the smaller auxiliary computer, this was a typical application for the 1401, which was designed to perform I/O tasks like transferring programs and data from punch cards to magnetic tape, so that the main machine could be kept constantly busy doing useful processing.