For a variety of reasons as discussed later in this topic, users of the early computers required some kind of reliable, cheap, and efficient media for storing large amounts of computer data. Two techniques that became very widely used in the early days of computing were paper tapes and punched cards...

View Topics



 
Perforated Paper Products
As you can imagine, it would be somewhat inconvenient to have a computer that forgot everything it knew if its operator turned it off before stepping out for a bite of lunch. Similarly, imagine a programmer's frustration if, after spending countless hours using a Switch Panel to enter a program containing hundreds or thousands of bytes, the janitor carelessly disconnected the computer in order to vacuum the office. A few choice words would be (and often were) the order of the day, let me tell you!

There were also a variety of other considerations. For example, since the early computers had very little memory anyway, it was necessary to have some mechanism to store large amounts of data outside of the machine's main memory. A program could then access and process small portions of the data on an as-needed basis. Also, if the operator had a number of different programs, but there wasn't enough memory to contain them all at the same time, then it was necessary to have some technique for storing the inactive programs. There was also the question of long-term archiving; that is, being able to store programs and data for use sometime in the future.

Yet another concern was being able to transport programs and data between computers located at different sites. For example, a programmer who created an interesting routine in Boston may well have wanted to share the fruits of his or her labors with colleagues in San Francisco. Although some flavors of early memories, such as Magnetic Core Stores, were non-volatile (they remembered their data when power was removed from the system), it was still somewhat less than practical to slip something the size of a large washing machine into an envelope and drop it into the mail.

For all of these reasons, it was obvious to everyone that it would be advantageous to have some kind of reliable, cheap, and efficient media for storing large amounts of computer data (and preferably something that weighed-in at substantially less than a ton). In order to satisfy these requirements, two techniques became very widely used: paper tapes and punched cards, both of which involved perforating paper-based products (try saying that ten times quickly).




 
The Origin of Paper Tapes
By using paper tapes, like so many other aspects of computing, engineers took advantage of technology that already existed at the time. In 1837, the British physicist and inventor Sir Charles Wheatstone and his friend, the British electrical engineer Sir William Fothergill Cooke invented the first British electric telegraph.

Sir Charles was a busy man. Amongst other things, he also invented the accordion in 1829 (following which, presumably, he didn’t have too many friends left) and three-dimensional photographs in the form of his Stereoscope in 1838. Apropos of nothing at all, 1837 was also the year that another "Charles" – Charles Dickens – first published a story under his given name; prior to this he’d been using the pen-name "Boz".

But we digress. Wheatstone's first telegraph made use of five wires, each of which was used to drive a pointer at the receiver to indicate different letters. In the same year, the American inventor Samuel Finley Breese Morse developed the first American telegraph, which was based on simple patterns of "dots" and "dashes" called Morse Code being transmitted over a single wire. Morse's system was eventually adopted as the standard technique, because it was easier to construct and more reliable than Wheatstone's.

Subset of International Morse Code

The duration of a "dash" is three times the duration of a "dot". Note that the illustration above shows only a subset of the code (although it's quite a large subset), but it's enough to give the general idea. Also note that this table shows International Morse Code, which is a slightly different flavor to American Morse Code.

Morse Code has a number of interesting features and, knowing us, you'll be lucky to escape without us mentioning at least a few of them. One tasty little nugget of trivia we simply can't resist pertains to the code for the letter "V". In his early years, Morse was more attracted to the arts than he was to science. The rumor on the street is that Morse attended a performance of Beethoven's Fifth Symphony on one of his trips to England. Idle speculation further has it that this performance so impressed him that the "dot dot dot dash" code he used for the letter "V" (which is also the Roman numeral for "five") was intended to emulate the symphony’s opening sequence which goes "Da Da Da Daaa".

The telegraph quickly proliferated thanks to the relative simplicity of Morse's system. A problem soon arose, however, in that operators could only transmit around ten words a minute, which meant that they couldn't keep up with the public's seemingly insatiable desire to send messages to each other. This was a classic example of a communications bottleneck. Thus, in 1857, only twenty years after the invention of the telegraph, Sir Charles Wheatstone introduced the first application of paper tapes as a medium for the preparation, storage, and transmission of data:

Charles Wheatstone's 2-Channel Paper Tape

Sir Charles' paper tape used two rows of holes to represent Morse's dots and dashes. Outgoing messages could be prepared off-line on paper tape and transmitted later. By 1858, a Morse paper tape transmitter could operate at 100 words a minute. Unsuspectingly, Sir Charles had also provided the American public with a way to honor their heroes and generally have a jolly good time, because used paper tapes were to eventually become a key feature of so-called ticker-tape parades.




 
The Printing Telegraph
As was discussed in the previous topic, the first telegraph machines were invented in 1837 by Sir Charles Wheatstone in England and Samuel Finley Breese Morse in America. Morse's machine was eventually adopted as the standard because it was simpler, easier to construct, and more reliable.

Morse's original machines kept a record of incoming messages using an electromechanically controlled pencil that made marks on a moving strip of paper. The paper was driven by clockwork, while the lengths of the marks corresponded to the dots and dashes used in Morse Code. However, operators quickly realized that they could recognize the message by sound alone, so Morse's recording devices returned to the nether regions from whence they came.

Throughout the rest of the 1800s there continued to be a strong interest in the idea of a printing telegraph. Much of the work toward realizing this dream was based on the concept of a wheel with characters embossed around the periphery. The idea was to use the incoming telegraph signals to spin the wheel by fixed steps until the correct character faced the paper, and to then propel that character onto an inked tape located in front of the paper.

There were a variety of techniques for controlling the wheel, such as a single pulse for 'A', two pulses for 'B', three for 'C', and so on, with the wheel returning to a home position after each character, but this technique was very slow in terms of words-per-minute. Later techniques used a five-bit code created by the French inventor Jean Maurice Émile Baudot in 1880, which soon became known as the Baudot Code. The two-channel paper tape technique pioneered by Sir Charles Wheatstone was subsequently extended to five channels so as to handle the Baudot Code:

Paper tape showing the five-bit Baudot Code

Using a five-bit code, it is possible to obtain 2^5 = 32 different combinations of holes and blanks (no holes). In the case of the Baudot Code, twenty-six of these combinations were used for letters of the alphabet, leaving eight spare combinations for an idle code, a space code, a letter-shift code, and so on. The problem was that there weren't enough spare combinations left over to represent the numbers '0' through '9' or any punctuation characters. In order to solve this dilemma, the letter-shift code was used to emulate the shift key on a typewriter by instructing the receiver that any subsequent codes were to be treated as uppercase characters (in this context, "uppercase" was used to refer to numbers, punctuation, and special symbols). A second letter-shift code could subsequently be used to return the receiver to the alphabetical character set.

The five holes and blanks for each character were transmitted as a sequence of pulses and gaps, and decoded and printed at the receiving end by a variety of different techniques. Note the special characters such as BELL, which actually rang a bell on the receiver to alert the operator that something interesting was about to happen, or was in the process of happening, or had just happened.

The early systems required the operator to use a keypad with five separate keys, and to simultaneously push whichever keys were required to form a character. Later systems were based on a Typewriter-style Keyboard, whereby each typewriter key activated the five transmitting keys (or a paper tape punch) to establish the correct pattern. Unfortunately, none of these systems were tremendously robust or reliable, and they all suffered from major problems in synchronizing the transmitter and the receiver such that both knew who was doing what and when they were doing it.

The original Baudot code became known as the International Telegraph Code No. 1. Sometime around 1900, another 5-bit code called the Murray Code was invented. The Murray Code eventually displaced the Baudot Code and became known as the International Telegraph Code No. 2. Unfortunately, everyone was hopelessly confused by this time – Murray’s name sank into obscurity, while Baudot’s name became associated with almost every 5-bit code on the face of the planet, including the International Telegraph Code No. 2




 
Storing Computer Programs and Data on Paper Tape

In a similar manner to Sir Charles' telegraph tape, the designers of the early computers realized that they could record their data on a paper tape by punching rows of holes across the width of the tape. The pattern of the holes in each data row represented a single data value or character. The individual hole positions forming the data rows were referred to as channels or tracks, and the number of different characters that could be represented by each row depended on the number of channels forming the rows.

The original computer tapes had five channels, so each data row could represent one of thirty-two different characters. However, as users began to demand more complex character sets, including the ability to use both uppercase characters (‘A’,’‘B’, ‘C’, ...) and their lowercase equivalents (‘a’, ‘b’, ‘c’, ...), the number of channels rapidly increased, first to six and later to eight:

IBM 1-inch paper tape with eight channels

The above illustration represents one of the more popular IBM standards – a one-inch wide tape supporting eight channels (numbered from 0 to 7) with 0.1 inches between the punched holes. The first paper tape readers accessed the data by means of springy wires (one per channel), which could make electrical connections to conducting plates under the tape wherever a hole was present. These readers were relatively slow and could only operate at around fifty characters per second. Later models used opto-electronic techniques, in which a light source was placed on one side of the tape and optical cells located on the other side were used to detect the light and thereby recognize the presence or absence of any holes.

In the original slower-speed readers, the small sprocket holes running along the length of the tape between channels 2 and 3 were engaged by a toothed wheel to advance the tape. The higher-speed opto-electronic models used rubber rollers to drive the tape, but the sprocket holes remained, because light passing through them could be detected and used to generate synchronization pulses.

On the off-chance that you were wondering, the reason the sprocket holes were located off-center between channels 2 and 3 (as opposed to being centered between channels 3 and 4) was to enable the operator to know which side of the tape was which. Of course, it was still necessary to be able to differentiate between the two ends of the tape, so the operators used scissors to shape the front-end into a triangular point, thereby indicating that this was the end to be stuck into the tape reader.




 
Teleprinters and Batch Modes
These days we're used to working with computers in what we call an interactive mode; that is, you issue a command via the keyboard or the mouse and the computer responds almost instantly. Additionally, during the course of the program your computer may request further information from you, and both of you can interact together in real time.

This level of interaction was almost undreamed of in the not-so-distant past. Many of the first computers were controlled using a bank of switches known as a Switch Panel. Although controlling a computer by this means was interactive in its own way, it's not what we would regard as being interactive today. Furthermore, there was only one switch panel, but it could take many hours to create a program byte by painful byte. Thus, if the switch panel had been the only way to enter programs, it would have been a pitiful sight to see professional programmers manhandling each other in a desperate attempt to claw their way to the panel.

In reality, the computer's time was far too valuable to have it sitting around twiddling its metaphorical thumbs while operators entered programs via the switch panel. Due to their extremely high price-tags, the only way for early computers to be cost effective was for them to be performing calculations and processing data twenty-four hours a day. Thus, although it had other system-management functions, the switch panel was mainly employed to enter simple boot-strap routines when power was first applied to the system. These routines were then used to load more complex programs from external devices such as paper tape readers.

The end result was that, in order to support the most efficient use of computing resources, programs had to be created off-line. This makes a lot of sense when you realize that it might take the computer only a few seconds to run a program that had required many hours to enter. One technique for creating a program off-line was by means of a Teleprinter, which looked something like a typewriter on a stand with a large roll of paper feeding through it.

In fact, a teleprinter was essentially an electromechanical typewriter with a communications capability. In addition to the roll of paper (which was used by the operator to check what he or she had actually typed), the teleprinter could also contain other devices such as a paper tape reader/writer. (Teleprinters were often referred to as teletype machines or teletypes. However, this was a brand name (much as "Hoover" is for vacuum cleaners) for a series of teleprinters manufactured by International Telephone and Telegraph (ITT).

Due to the fact that teleprinters were relatively inexpensive (compared to the millions of dollars invested in the computer), a typical installation usually included a large number of them, thereby allowing many people to create programs at the same time. Groups of programs were subsequently presented to the computer operators in a batch, and the computer was said to be running in a batch mode. (Things continue to evolve, and the phrase "batch mode" is now commonly used to refer to a program that's running as a background task, using whatever resources are available when interactive users aren't hogging all of the computer's capacity.)

As computers evolved and became more powerful, teleprinters began to be connected directly to them. This allowed the operators and the computer to communicate directly with each other, which was one of the first steps along the path toward the interactive way in which we use computers today.




 
The Origin of Punched Cards
The practice of punching holes in cards to record data dates back to the early 1800s, when a French silk weaver called Joseph Marie Jacquard invented a way of automatically controlling the warp and weft threads on a silk loom by recording patterns as holes in a string of thin wooden boards or cards. In the years to come, variations on Jacquard's punched cards were to find a variety of uses, including representing music to be played by automated pianos and programs to be executed by computers.

The first practical use of punched cards for data processing is credited to the American inventor Herman Hollerith. During the 1880s, Hollerith decided to use Jacquard's punched cards to represent the data gathered for the American census, and to read and collate this data using an automatic machine. The resulting tabulating machines were successfully used to gather and process the data from the 1890 census, and Hollerith's company grew from strength to strength.

In addition to solving the census problem, Hollerith's machines proved themselves to be extremely useful for a wide variety of statistical applications, and some of the techniques they used were to become significant in the development of the digital computer. In February 1924, Hollerith's company changed its name to International Business Machines, or IBM.

Many references state that Hollerith originally made his punched cards the same size as the dollar bills of that era, because he realized that it would be convenient and economical to buy existing office furniture, such as desks and cabinets, that already contained receptacles to accommodate stacks of bills. Other sources consider this to be a popular fiction. Whatever the case, we do know that these cards were eventually standardized at 7.375 inches by 3.25 inches, and Hollerith's many patents permitted his company to hold an effective monopoly on punched cards for many years. (Hollerith, who was no one's fool, had quickly realized that the real money was not to be made in the tabulating machines themselves, but rather in the tens or hundreds of thousands of cards that were used to store data.)

Although other companies came up with innovative ways to bypass Hollerith's patents, they failed to capitalize on their advances, thereby giving IBM a chance to regain the high ground. For example, Hollerith's early cards were punched with round holes, because his prototype machine employed cards with holes created using a tram conductor's ticket punch. Hollerith continued to use round holes in his production machines, which effectively limited the amount of data that could be stored on each card. By the early 1900s, Hollerith's cards supported 45 columns, where each column could be used to represent a single character or data value.

This set the standard until 1924-1925, when the Remington Rand Corporation evolved a technique for doubling the amount of information that could be stored on each card. But they failed to exploit this advantage to its fullest extent, and, in 1929-1931, IBM responded by using rectangular holes, which allowed them to pack 80 columns of data onto each card. Although other formats appeared sporadically (including some from IBM), the 80 column card overwhelmingly dominated the punched card market from around the 1950s onward.

IBM 80-column punched card format

The above illustration shows one of the early 80 column IBM cards (approximately full size). Each card contains 12 rows of 80 columns, and each column is typically used to represent a single piece of data such as a character. The top row is called the "12" or "Y" row; the second row from the top is called the "11" or "X" row; and the remaining rows are called the '0' to '9' rows (indicated by the numbers printed on the cards).

This figure (which took one heck of a long time to draw let me tell you) illustrates one of the early, simpler coding schemes, in which each character could be represented using no more than three holes. (Note that we haven't shown all of the different characters that could be represented). Over the course of time, more sophisticated coding schemes were employed to allow these cards to represent different character sets such as ASCII and EBCDIC; the rows and columns stayed the same, but different combinations of holes were used.

One advantage of punched cards over paper tapes was that the textual equivalent of the patterns of holes could be printed along the top of the card (one character above each column). Another advantage was that it was easy to replace any cards containing errors. However, the major disadvantage of working off-line (with both punched cards and paper tapes) was that the turn-around time to actually locate and correct any errors was horrendous.

Generally speaking, if you make a programming error on one of today's interactive systems, the system quickly informs you of your mistake and you can fix it almost immediately. By comparison, in the days of the batch mode, you might slave for hours at a teleprinter with a card puncher attachment, march miles through wind and rain to the computer building carrying a one-foot high stack of cards, only to hear: "We're a bit busy at the moment, can you come back next Monday?"

So you left your cards with the operator and spent the weekend in delightful anticipation, but on returning the following week to collect your results, you'd probably receive a few inches of computer printout carrying the words: "Syntax error on card 2: missing comma". Arrgggh – if the computer knew enough to tell that there was a missing comma, why didn't the callous swine know enough to stick one in for you? The result was that debugging even a trivial program could take weeks and weeks. In fact, by the time you eventually got a program to work, you were often hard-pushed to recall what had prompted you to write it in the first place!

Although punched cards are rarely used now, we endure their legacies to this day. For example, the first computer monitors were constructed so as to display 80 characters across the screen. This number was chosen on the basis that you certainly wouldn't want to display fewer characters than were on an IBM punched card, and there didn't appear to be any obvious advantage to being able to display more characters than were on a card.

Similarly, long after interactive terminals became commonly available, the formatting of certain computer languages continued to follow the rules laid down in the era of punched cards. To this day, many assembly languages have unnecessarily restrictive rules along the lines of "Labels can only occupy columns 1 through 8." Even the first high-level languages such as FORTRAN (an abbreviation of "Formula Translation") had comparable rules. As a final example, consider the case of the program called SPICE (Simulation Program with Integrated Circuit Emphasis), which is used by engineers for evaluating analog circuits. The first generation of this program appeared commercially around the beginning of the 1970s and its descendants are used to this day. The point is that it is still common practice to refer to the data used by this program as a "SPICE deck", which is a hangover from those times when such data was stored using punched cards ("deck of cards" – get it?). [Later versions of SPICE came equipped with a simple user interface called "Nutmeg." This name had no relevance other than the fact that nutmeg is a spice (Oh, how we laughed).]




 
Perforated Paper Products never die...
Finally, a word of caution. Perforated paper products never die, they simply fade away. Although the halcyon days for paper tapes and punched cards were certainly the 1960s and 1970s, do not be misled into believing that these media have completely exited the stage. In those days of yore, it was easy to spot anyone who had anything to do with computers, because their offices, briefcases, jacket pockets, and hands were usually overflowing with reels of paper tape and decks of punched cards ("Holy paper products, Batman").

However, although paper tapes and punched cards may seem delightfully antiquated, many institutions, including universities, continued to use these forms of data storage well into the 1980s, and both techniques are still to be found in the odd technological backwater to this day. Indeed, paper tapes continue to find a role to play in certain hostile environments. For example, in some manufacturing and heavy engineering facilities, computer-controlled machine tools may be located close to strong magnetic fields and electromagnetic noise. Many of today’s storage technologies (such as floppy disks) tend to be corrupted in these conditions, but, much like the Energizer Bunny™ in the television commercials, paper tape products (especially modern varieties formed from materials such as Mylar) keep on going, and going, and going, and...