The text read off it
[page 62]
The reader should realize, moreover, that this method of describing data in a separate section of the program has a number of important advantages.
In the first place, the typical program will deal repeatedly with data of the same kind. Use of a separate data description permits the programmer to describe each kind of data once, instead of having to describe each individual item as it occurs.
A second consideration is that, once a given set of data has been described, the same description can be used again as part of a new program that works with the same data, or the same kinds of data. This would be a considerable advantage even if it were necessary to copy the data description into the new program by punching new cards. In practice, however, the data description can actually be stored in the library, on tape or in cards, so that it can be called for when needed.
Finally, the Commercial Translator data description is so designed that a program developed for use on one data processing system can be run on a different kind of system (within limits) with relatively few changes in the data description. A basic reason why this is possible is that the data description is tailored to the logical structure of the data files, which do not alter materially from machine to machine, while most of the details that relate to actual equipment are handled by the processors furnished for the various machine systems. The programmer is thus spared many of the problems that can arise when it is necessary to run a program on a system other than the one for which it was originally designed.
A data description for a data processing system contains a number of elements which are already familiar to those who have worked with punched card equipment. As most readers will recognize at once, punched card operations require that data be arranged in the cards in accordance with a definite pattern. In essence, each item of data is identified by its physical position in the card. Thus, if the first six columns of a deck of payroll cards are reserved for employee numbers, the system will treat all values in those columns as employee numbers, unless special coding is used to indicate exceptions. But any such exceptions must be indicated by codes which are themselves identifiable by their positions in the card. In short, the key to identifying a value in a punched card is its position in the card.
The same basic rule applies to electronic systems, but the number of possible positions is greatly increased. Moreover, data can be shifted from one position to another. Yet it is always the position of the data that identifies it, and it is one of the functions of a Commercial Translator processor to keep track of the position of each item.
For this reason, a major part of a data description consists of the details necessary to determine the position of each item. Among other things, it is necessary to give the length of each kind of item (that is, the space it will require) and its relative position in the file. The processor will use this information to assign an initial location in storage for each kind of data. At the same time, it will note the name which the programmer has assigned to the item. By relating this name to the location, the program will be able to find the item when it is referred to by name. Furthermore, it will keep track of all changes in the position of the item; this saves the programmer from having to deal with internal addresses in the system and permits him to refer to data by name.
It follows, of course, that the efficiency of the program will depend in part on the arrangement of the data. The data description provides for describing a data organization already in existence. If the arrangement of the data does not take full advantage of the capacities of the system, the programmer may wish to reorganize the original input data before writing the data description.
