The Rise of the Machines
There was a span of almost 50 years between Hollerith’s Tabulator and IBM’s first real computers. These were years of rapid innovation, for IBM’s engineers envisioned a computer-like world in which punched cards moved from place to place in much the same way modern computers shuffle electronic pulses from place to place. These early data processing pioneers invented a whole new way of processing data. Machines were built that could read cards, punch cards, send cards from one hopper to another, and some simple processing in between.
There were machines for only a small set of functions. With a bit of simple logic programmed with wires in breadboards, complex systems were created. Governments bought IBM’s equipment by the thousands turning IBM into a very profitable company.
We start with the keypunches. These are the machines that were used to punch the holes into the cards. At first, keypunches were very simple machines – capable of punching only one hole at a time. Until 1901, the operator punched the holes using a punch guided by a pantograph. It was very slow. A skilled operator could punch about 700 cards a day.
In 1901, the Tabulating Machine Company (soon to become IBM) introduced a manual keypunch that had 10 keys (0-9). Operators were now able to punch as many as 300 cards an hour.
By the 1920s, electric motors were added speed up the keypunching process. Up until 1928, IBM’s cards had round holes. As these machines became more refined, the density of the cards was increased – starting with only 20 columns and 45 by the early 1920s. In 1928, IBM introduced its standard 80-column card in 1932. The holes were now the familiar rectangular shape. This format would remain the standard well into the 1960s.
A machine that could read cards one-at-a-time from two or more hoppers and merge the two sets of cards into a single set based on some simple logic based on the holes punched in the cards, was a collator. The collators were also capable of sequence checking, removing duplicate cards, removing selected cards from decks, and comparing two card decks.
Collators were introduced in 1937 and had 5 output pockets. Both input hoppers were capable of handling 250 cards per minute. By 1961, the IBM 188 Collator could handle 650 cards per minute with each of its two input hoppers.
Although collators sound like simple machines, they were extremely useful. Consider a card-based accounting system. In order to process the transactions for your clients, you must merge your customer cards with your transaction cards (purchases and payments). The result is a deck of cards with each customer card followed the corresponding transaction cards. You would first use a card sorter to sort each of the customer and transaction decks in customer number sequence the collate the two decks into one big deck which can then be fed into an accounting machine to total the transactions, calculate a new balance, and print a statement.
Reproducing and Summary Punch Machines
IBM developed a set of machines to punch new card decks from information read from cards loaded into the input hoppers.
A Reproducing Punch copied data from input cards onto new cards. Input columns could be selected and copied to different columns of the new cards. A Gang Punch did much the same except could punch a series of cards based on data from one card. Summary Punch machines could total numbers from the input cards and punch new cards complete with the calculated totals.
Some of these machines could be attached to other machines, such as the IBM Accounting Machine, and punch results from complex operations.
IBM’s Mark Sensing Punching machine is an example of the level of sophistication of some of early data processing advancements. In 1937, IBM pioneered a new type of card where pencil marks could be used to prepare data. The IBM 805 was used to convert pencil marks on specially printed 80-column cards into holes which could then be used just like any other punched card. Utility companies adopted these for meter reading.
Since printing on cards was a slow operation, IBM did include any capability for printing on cards with its sorters, collators, and punch machines. Printing was only useful if the cards were to be used by people. Printing on the cards themselves was reserved for the Interpreters.
An interesting example of how useful this was, consider the IBM 551 Check Writing Interpreter. It printed information printed on IBM cards which were used as checks which could then be cashed at a bank. Here’s an example of an IBM punched card check. You can see the check number punched in columns 64-69 (“013261”), a Man Number (Account number) punched in columns 70-74 (“001050”), and the amount punched in columns 75-79 (“06534”). The check number is printed on the card in the upper left and the amount as “****65 34”.
These were slow machines with speeds ranging from 60 to 100 cards per minute and had limited printing capability.
Tabulators and Accounting Machines
Direct descendants from Hollerith’s original Tabulator, these machines were used to count and total up data. At first, Tabulators were only capable of addition. Subtraction was not available until the 1920s. Up until the 1930s, multiplication and division was accomplished by wiring tabulators to card sorters and performing progressing digitizing.
As IBM added more functionality, they began calling these machines accounting machines. These were not computers. They were hard wired devices capable of arithmetically simple calculations. They could read cards, perform calculations, and print the results. These were crucial for accounting applications as they were used to print customer statements and punch new customer card decks with updated balances.
The Plug Boards
Amazingly, IBM’s customers were able to create complex data processing systems with these few simple devices. If you could break down your requirements into steps involving sorting, collating, and punching, you could eventually produce the printed statements, reports, inventory lists, or whatever else you needed for your system. The holes punched in the cards were all that was needed.
The real magic was in the programmability of the machines. These were not true computers, but simple devices capable of performing simple logical and arithmetic operations using vacuum tubes. The power in this system was the machines were general purpose. Delivered right from the factory, these machines were virtually useless until they were “programmed” by an engineer.
These “programs” were not programs that you could read – not in the modern sense as in a language. These programs were created by wiring the electrical pick-ups from the cards in the input hoppers, to counters built into the machines, and to other electrical circuits used to actuate control pocket selectors, print heads, and punches.
The show started when the machine would read one card. Electrical signals would be present in the 80-input terminals. There would be 80 plug holes for each of the 80 columns. By plugging a wire into these terminals to the terminals for the counters and punch actuators, the engineer could program the machine to do some useful function. The programs were prepared on plug boards and would typically have hundreds of wires plugged into them. Since it took a long time to wire plug boards, a company might have dozens of plug boards, each programmed for a specific purpose. The machine operator would be told which plug board was to be used.
Special Purpose Machines
IBM developed a number of special purpose machines for use in engineering and scientific applications. Based on simpler card sorters, collators, and punches, IBM was able to provide the capabilities for increasingly complex calculations. An example is the IBM Pluggable Sequence Relay Calculator. These machines were capable of executing 50-step calculations and required very complex breadboard wiring.
By the late 1940s, IBM was pushing the boundary with these machines. Wiring plug boards for them was very time consuming and the machines were so specialized in their purpose that few of them were made. As a result, they were extremely expensive to build.
Fortunately, the advent of the general purpose computer was just around the corner.
The Transition to Computers
IBM’s engineers built an entire industry around the processing cards. How they managed to use these cards to store data, and ultimately, create information directly influences many aspects of how we use computers today. This is no truer than our concept of “database”.
It’s the organization of punched cards into decks that influences how we conceptualize database “tables”. Sorting and collating cards using common data punches into specific card columns allows cards (and thus “information”) to be related. These fields become the familiar primary and foreign keys we use in relational databases. The concept of “normalization” was just important in the early punched card days as it is today. If you don’t have the right punches in the right places on the right cards, your punched card system fails the same way a SQL database is unworkable today.