Why were punch cards used for programming

historymainframestorage

I am doing a research essay on the history of programming languages, and I was wondering, why did programmers ever write their programs on punch cards? Didn't computer screens and keyboards already exist by the time programmers used them?

I know they were first invented for the use of the Jacquard loom and to control the desired design, but when people programmed, why did they decide to write their programs on a card oppose to writing it on a terminal?

Was it because since computers were very expensive, not many people had access to them, resulting in people writing programs on punched cards, submitting it to a company or someone or some organization that had one to run them and tell them the result?

Best Answer

Time-sharing, multi-user, systems were invented in the late fifties, but they were comparatively rare through all through the 60s. Most computers ran in batch mode, running a single program at a time, with no facilities for interacting with users other than the card reader, the line printer, and maybe a separate teletype for the console operator. Terminals you say? Up until the late 60s, electronic terminals with video displays were exotic, fabulously expensive gadgets limited to research facilities and specialized jobs like air traffic control, and national defense. Those computers that did support interactive sessions generally used teletypes. Entering a program on a teletype was just as unpleasant as punching it onto cards.

Let me expand a little bit on the problem of batch processing since it is so foreign to the way most people use computers now. It would certainly have been possible even in the 50's to write an interactive editing program that would have worked with a teletype. However, because of batch processing, the editing program would have completely monopolized the computer the entire time you were sitting at the teletype editing your program. Since several hundred to several thousand other people would have been waiting their turn to run their programs, you would have been a very unpopular person. You would also have been charged several dollars a minutes while your editor was running. It was much more cost-effective to write your program out in long hand, hand the final draft to a key punch operator, and let them transcribe your program onto punch cards or paper tape. That avoided wasting the CPU's precious milliseconds waiting for you to type 'GOSUB'.

Hard disk drives were also invented in the late fifties, but they were small (around 1mb), rare and expensive, not something you gave users casual access to. Obviously users did need some sort of long term storage. The choices were paper tape, punch cards and magnetic tape. Magnetic tape was new and expensive. Paper tape was used by some systems, but punch cards were an established technology used in non-computer business machines like tabulators and sorters since 1928, so a lot of businesses already had a major investment in punch card machinery and storage.

Related Topic