3 ms·
It's not at all a clean separation, but in early computers, paper tape is more common for loading programs than punched cards. The paper tape readers were faste
by jcrawfordor 3y ago
It's not at all a clean separation, but in early computers, paper tape is more common for loading programs than punched cards. The paper tape readers were faster, and the flexible length made more sense for software before compilers were involved. Punched cards were mostly used for application input/output (a very early example would be ENIAC which was not stored-program at all but had punched card I/O) where fixed record sizes made sense, and then later for software due to FORTRAN and contemporaries introducing well-defined statements.
Of course there are plenty of exceptions. I mostly left out punched cards because they have a completely different pre-computer history that could take its own article. One of the reasons people perceive punched cards as far more common than paper tape is because IBM used them heavily (although early IBM machines still tended to use paper tape for loading software). IBM used them heavily because IBM had already been manufacturing punched card equipment for pre-computer data processing. But that's also why early IBM computers supported punched card I/O: for interoperation with their data processing systems. For example, early IBM computers from the '50s even to relatively modern machines in the '70s were often used alongside older punched card data processing equipment. You might categorize records using a punched-card sorter and then feed the sorter bins into a computer for computing statistics, then take the cards output by the computer and put them into a punched card sorter again to order by the computed statistics. This is how might you produce a report of counties with the highest sales, for example. A hybrid of computer and pre-computer methods of processing data. But this emphasizes the difference between paper tape and punched cards: paper tape was continuous, good for variable-length material. Punched cards were discrete, good for fixed-size records that would be binned and sorted during processing.
Later the adoption of IBM punched cards for compiler input radically changed this situation, but that still came out of the sense that input to the compiler consisted of well-defined, discrete records identified by serial number.
You can imagine the practicalities. Machine-language software would not fit neatly onto punched card boundaries, the length of punched cards being historic and not well-correlated with the word size on machines. So there's a weird alignment problem you get that paper tape avoids. Plus you can't accidentally reorder paper tape, an advantage that paper tape equipment manufacturers actively advertised!
A major example relevant to the article is Digital - DEC PDP machines used paper tape for program loading and were rarely equipped for punched cards. This reflects their different heritage and market from IBM machines; Digital machines were less common (and not really designed for) batch record processing applications. Punched cards, on the other hand, are almost intrinsically a batched record format.
- mark-r 3y agoI remember magnetic tape being a lot more common than paper tape for the uses you suggest.
- jcrawfordor 3y agoYeah, magnetic tape is almost as old as the programmable computer, with the UNIVAC notably featuring magnetic tape drives. The main downside was that paper tape could be hand-punched using commodity equipment (often teletypes), while magnetic tape couldn't. Magnetic tape was also more expensive initially but I think that cost gap narrowed as paper tape fell out of use. Paper tape was probably becoming uncommon in most mainframe environments by the mid-1960s as the programming modality mostly became punched card source to magnetic tape object. Most IBM mainframes for example could IPL from any input channel, so while a paper tape reader was still a standard option on the 360 series in the mid-'60s, it probably only would have been used by more cash-strapped users. I think IBM generally stopped using paper tape as an exclusive or main I/O format by the end of the '50s. They were ahead of some of their competitors on that, though, probably due to their considerable expertise in both punched cards and magnetic tape. Some minicomputers continued to use paper tape for initial program loading well into the '70s though, including the PDPs used for Unix development. A number of these computers couldn't "boot" from the tape drives because they were I/O peripherals, while the console and its attendant paper tape punch/reader interacted directly with memory. This arrangement was sometimes called an "autoloader," where you could set a switch and a starting address and everything coming from the console keyboard/reader were put directly into memory sequentially. I have also seen videos of PDP users hand-toggling a program to read from a tape drive into memory; I think that's mostly a flourish for modern demonstrations and contemporary operators would have used the tape reader, but it's not a long enough program to be infeasible.