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.
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:

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:

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:

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.
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...