Computer programming in the punch card era
Encyclopedia
From the invention of computer programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s up to the mid-1980s, many if not most computer programmers created, edited and stored their programs on punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...

s. The practice was nearly universal with IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 computers in the era. A punched card is a flexible write-once medium that encodes, most commonly, 80 characters of data. Groups or "decks" of cards form programs and collections of data. Users could create cards using a desk-sized keypunch with a typewriter-like keyboard. A typing error generally necessitated repunching an entire card. A single character typo could be corrected by duplicating the card up to the error column, typing the correct character and then duplicating the rest of the card. In some companies programmers wrote information on special forms called coding sheets, taking care to distinguish the digit zero from the letter O, the digit one from the letter I, 8's from Bs, 2's from Zs, and so on. These forms were then converted to cards by keypunch operators and, in some cases, checked by verifiers.
Many early programming languages, including Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

, Cobol
COBOL
COBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....

 and the various IBM assembler languages, used only the first 72 columns of a card — a tradition that traces back to the IBM 711 card reader used on the IBM 704/709/7090/7094 series (especially the IBM 704
IBM 704
The IBM 704, the first mass-produced computer with floating point arithmetic hardware, was introduced by IBM in 1954. The 704 was significantly improved over the IBM 701 in terms of architecture as well as implementations which were not compatible with its predecessor.Changes from the 701 included...

, the first mass-produced computer with floating point arithmetic hardware), which could only read 72 of the 80 columns in one pass. Columns 73-80 were ignored by the compilers and could be used for identification or a sequence number so that if the card deck was dropped it could be restored to its proper order using a card sorter. Drawing a diagonal stripe across the top of the card deck provided a similar check for proper order. Programs were backed up by duplicating the deck or writing it to magnetic tape.

A typical corporate or university computer installation would have a room full of keypunch machines for programmer use. An IBM 407
IBM 407
The IBM 407 Accounting Machine, introduced in 1949, was one of a long line of IBM tabulating machines dating back to the days of Herman Hollerith. It was the central component of any unit record equipment shop. In the late 1950s, the 407 was adapted as an input/output device on early computers,...

 Accounting Machine might be set up to allow newly created or edited programs to be listed (printed out on fan-fold paper) for proof reading. An IBM 519
IBM 519
The IBM 519 Document-Originating Machine, introduced in 1946, was the last in a series of unit record machines designed for automated preparation of punched cards...

 might be provided to reproduce program decks for backup or to punch sequential numbers in columns 73-80. In many mainframe installations, known as closed shops, programmers submitted the program decks, often followed by data cards to be read by the program, to a person working behind a counter in the computer room. Many computer installations used cards with the opposite corner cut (sometimes no corner cut) as "job separators", so that an operator could stack several job decks in the card reader at the same time and be able to quickly separate the decks manually when he removed them from the stacker. These cards (e.g., a JCL
Job Control Language
Job Control Language is a scripting language used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem....

 "JOB" card to start a new job) were often prepunched in large quantities in advance. This was especially useful when the main computer did not read the cards directly, but instead read their images from magnetic tape
Magnetic tape
Magnetic tape is a medium for magnetic recording, made of a thin magnetizable coating on a long, narrow strip of plastic. It was developed in Germany, based on magnetic wire recording. Devices that record and play back audio and video using magnetic tape are tape recorders and video tape recorders...

 that was prepared offline by smaller computers such as the IBM 1401
IBM 1401
The IBM 1401 was a variable wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing electromechanical unit record equipment for processing data stored on punched cards...

. After running it, the computer operator would return the card deck and any hardcopy printed output, typically to one of a set of alphabetically labelled cubby holes, based on the programmer's last initial.

Overnight and 24 hour turnaround times were not uncommon; however, on a lightly used system, it was possible to make alterations and rerun a program in a few minutes. Between these extremes it was common to stand in line waiting to submit a deck. Dedicated programmers might stay up all hours to get a few quick turnarounds. Using this expensive equipment—mainframe computer usage was measured in seconds per job — was often charged to a user's account. Other installations, such as those using smaller computers like the IBM 650
IBM 650
The IBM 650 was one of IBM’s early computers, and the world’s first mass-produced computer. It was announced in 1953, and over 2000 systems were produced between the first shipment in 1954 and its final manufacture in 1962...

, 1620
IBM 1620
The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive "scientific computer". After a total production of about two thousand machines, it was withdrawn on November 19, 1970...

 and 1130
IBM 1130
The IBM 1130 Computing System was introduced in 1965. It was IBM's least-expensive computer to date, and was aimed at price-sensitive, computing-intensive technical markets like education and engineering. It succeeded the IBM 1620 in that market segment. The IBM 1800 was a process control variant...

, were run as an open shop, where programmers had use of the computer for a block of time. A keypunch was usually located nearby for quick corrections. This was all batch-mode processing, as opposed to interactive processing.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK