Computer history: Punchcards
Everything about punch cards
(Original in Dutch by Philips N.V.: “Wat is een ponskaart en… wat doe je ermee?”, published around 1967;
permission obtained for reproduction and translation)
Already around 1725, a paper strip was used to control mechanical processes in weaving mills. Punch holes were positioned in that strip of paper according to a certain system. By a scanning mechanism, these punch holes were transferred into mechanical movements. Those pulses controlled a number of machine parts. In 1890, Dr Herman Hollerith employed this principle for administrative purposes in order to process census data in the United States of America. The machine he constructed could sort and count the information contained in the cards. A simple numerical code was used to enter the data into the punch cards.
The equipment for processing punch cards was largely improved since the days of Dr Hollerith. Their usefulness was considerably enlarged by the possibility to make the sorted and processed data human-readable. A complete set of special punch card processing equipment was developed: The punched card system. The punched card occupied a central position in that system. The punched holes in a punch card represent a piece of information. Depending on the position of a (set of) holes in the punch card, the type and value of a data item are fixed. Electrical impulses stemming from the holes in the punch card during reading a punch card are processed by the punch card processing machines. The size of the punch card was 7 1/2″ by 3 1/4″.
Of utmost importance for processing data is the right “recognition” by the machine of the punch hole(s). To achieve that, the punching machine was constructed in a way that the card to read arrived under the reading brushes at a fixed moment in the electro-mechanical cycle of the machine. It is then carried through with a continuous velocity. In that way, synchronisation between the punch hole position and the electro-mechanical processing triggered by the absence or availability of an electro-pulse is reached.
Key punching and verification punching
During punching, data of a document were translated by the way of right-angled holes according to a certain code (see http://homepage.divms.uiowa.edu/~jones/cards/history.html), column by column into the punch card. The punch holes were made by a keypunch machine.
Punching was a time-consuming activity in which very easily errors could occur. Therefore, the design of the punching machine tried to automate as many functions as possible, e.g. automated skipping fields; automated feed of a new card.
In the most modern version, the keypunch machine could be automatically controlled. A program in a punch card is fitted to a drum running synchronously with the card being punched or is even stored in some memory store. Using this program, automatically parts of the data from a preceding card could be duplicated; punched data could be printed as normal human-readable text at the top part of the card or columns could be automatically skipped. The verification of the correctness of the entered data was of utmost importance for most applications. By adding to the keypunch machine an interpreter that converted the punched information into human-readable text, the punched data could be visually compared with the data of the original document. Another and more reliable check offered verification punching. This requires a verification punch machine. The punch card is read column after column while the data is entered for the second time. In case of a difference between the second keying and the content of the punch card, the keypunch machine halts allowing to verify and correct the discrepancy.
IBM-punch machines model O29 had an extended character set over the one in model O26 such as [ ] (used for Algol). O29 was handy for ‘scientific programming’. (see Wikipedia on keypunch as well)
Reproducing
A separate machine was constructed to duplicate data from a punched card into another card and to verify the correctness of the copy. The card punch could do precisely the same in combination with the verification punching machine. However, the copy of big truces of cards for reproducing data or a part of the data from one single card into a big number of new cards, the duplication machine shown here was much more efficient.
By a particular control program that was not punched into a card but programmed into a control panel, data fields from a (set of) card(s) could be copied into the same as well as another card field (number of columns belonging together) or could be totally dropped.
Sorting and selecting
One of the most important machines in the card punch system is the sorting machine. The most modern types (at that time) could sort 2000 cards per minute per single column. That velocity was important as always high demands for sorting capacity were required. Note that sorting required many passes of all cards as the cards could only be sorted on a single column. Moreover, after sorting relatively very fast and very expensive electronic equipment was awaiting the cards for further electronic processing.
As said before, sorting happened column by column. Often a field to be sorted upon occupied a number of card columns. Sorting happened then from the highest-numbered column of the field to the lowest-numbered one. Sorting a huge number of cards could be simplified by sorting the lowest numbered column at first and thereafter sorting the separate groups (e.g. within the subsets of 1000-folds). This block sorting raised the flexibility of the sorting capacity. With the aid of a sorting machine, cards provided with a marked punch hole could be isolated or selected. Operating the sorting machine required painstaking accuracy because the verification could only happen visually.
Combining and comparing: collate and merge
A versatile machine in the punch card system was the collator machine. That machine had two import stackers and four to five output stackers. Essential in the machine was the possibility for comparing punch cards in order to determine the similarity or difference of data in two card columns of two different cards present at the moment of comparing in two different read stations. These read stations could be reading two subsequent cards in one single track of cards or could compare one read position from the first and one read position from a second card track. According to the outcome of that comparison and the programming of the machine, a card halted in the read station or moved to one of the selected output stackers. In that way, for instance, verification for correct sorting could take place. Also, cards from two groups could be checked for the same data over a number of columns. As a result, cards could be merged into an output stream, could be halted in the read station, or put aside in another output stacker.
On http://homepage.divms.uiowa.edu/~jones/cards/history.html you can find another story about punched cards.
Irwin Winson on 22/01/2001: “The Hollerith IBM card had evolved into a 45-column card with round holes. In 1928, IBM invented the 80-column punch card using rectangular holes. (Given the Florida voting experiences, perhaps the patent granted for that should have been revisited). IBM’s punched card systems of the 1930s were surprisingly sophisticated. One could do the sort of thing one now does on a PC spreadsheet or database, though the punch card method would take a lot longer than today and the machine rental wasn’t cheap.
Anyway, Remington Rand, which was a competitor to IBM, offered a punch card containing 90 columns with 2 rows of 45 columns. While offering greater capacity, it made Remington’s and IBM’s systems incompatible. IBM captured the vast bulk of the punched card market share.”
In the late 1960s, IBM created a 96-column mini-card for its new System/3, three “tracks” of 32 columns and 8 rows of holes per track, very small round holes – about 1 mm. The card was about 4″ square – not quite square obviously. Unlike the prior punched cards, this card was only for input/output, not independent tabulation (though IBM did make an offline sorter for the cards).
Operating a card reader for punched cards was a great environment for creating practical jokes.