News for hackers. Stuff that matters.
Re:A History of the TTY by mark-r on Monday February 26, 2024 @08:29AM (#39511021)
It's a little off-putting that he says punched paper tape was used in the early days of computing. Mostly it was punched paper cards, a different thing entirely.
Re:A History of the TTY by jcrawfordor on Monday February 26, 2024 @11:31AM (#39513265)
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.

Re:A History of the TTY by mark-r on Monday February 26, 2024 @09:50PM (#39519591)
I remember magnetic tape being a lot more common than paper tape for the uses you suggest.
Re:A History of the TTY by jcrawfordor on Tuesday February 27, 2024 @04:27PM (#39530218)
Yeah, 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.

Re:A History of the TTY by HarHarVeryFunny on Monday February 26, 2024 @09:31AM (#39511604)
Well, there were both.

Punched cards were used in computing centers for preparing batch mainframe jobs for submission.

Punched tape was more a hobbyist thing, as form of program storage and sharing, used in the era of early machines such as the Altair 8800.

You can still buy a copy of Microsoft BASIC on punched tape if you need it!

https://www.ebay.com/itm/196212300301

Re:A History of the TTY by mbreese on Monday February 26, 2024 @10:45AM (#39512589)
To add to your comment…

I thought the use of paper tape was directly related to the teletypes (when used for I/O with a computer). Where the paper tape could operate as both an input and output mechanism, depending on if you wanted to input a program/text or save a program/text. Paper tape wasn’t a computer storage medium, as much as it was a teletype medium.

In this way, the paper tape hijacked the interactive I/O mode on these early computers to supplant it with a stored format.

Re:A History of the TTY by nomadluap on Monday February 26, 2024 @11:19AM (#39513074)
I guess you could look at paper tape as a physical manifestation of redirecting terminal I/O to text files using > and < in the shell.
Re:A History of the TTY by HarHarVeryFunny on Monday February 26, 2024 @03:09PM (#39516195)
Interesting - I wasn't aware of that. When I first learnt to program (in PL/1) in the 70's it was on a punched card system, but I never used paper tape myself.

So, was switching from keyboard to tape input, or from printer to tape output, done locally at the teletype, or could that be controlled by the computer it was attached to ?

I guess this implies the paper tape format was basically just a dump/listing of sorts that might otherwise have been directed to the printer, and when used as an input this would then be read into a program (e.g. editor) that was really expecting keyboard (tty) input ?

Re:A History of the TTY by mark-r on Monday February 26, 2024 @09:41PM (#39519517)
You could turn on the paper tape punch at any time, and it would record every character sent to the printer. Then you could load the tape into the reader and turn it on and it would act as if you were typing at maximum speed (a whole 10 characters per second!) I don't recall any way to control either function remotely.
Re:A History of the TTY by mark-r on Monday February 26, 2024 @09:47PM (#39519560)
Yes, in the early days of microcomputers teletypes were common, and paper tape was a part of that. I'm talking about the computers of the 1960's for example where interactive use was unheard of.