I know of a guy who ran a university computing center who said “These terminals are fads, punch cards are here to stay” So they were behind the curve ditching punch cards.
I worked for a defense contractor in the mid-'80s through early-'90s. My boss was an old school MIT guy. He insisted that our JCL be punched up on cards. His reasoning was that if a job needed to be corrected in the middle of the night, a computer operator could punch a new card, insert it, and restart the job – as if the operator couldn’t do it more quickly and easily on a terminal. Also, the cards would be part of the ‘database’ – which was that large Z-fold paper bound in books, with 9-track tapes holding the data as well.
He finally relented after a few years, and eventually capitulated when IBM said they would no longer service the card readers or punch machines.
As I recall the danger of disordered or machine-munched cards was ever-present; I think you’d have to take that into your life-cycle efficiency analysis. I wonder how many card spills there were in comparison to Blue Screens of Death and the like.
We used the punch cards from my mother’s 1977 engineering PhD data as note-jotting paper well into the 90s. I remember sorting through the stack to look for the least “lacy” ones (like ftg’s link) for lists I expected to be long. I got kind of nostalgic looking at the punched card printing plate picture. that would have been the perfect pencil cup to keep next to the notepaper!
Also heard of a guy who cried when they took out all the punch card machines where he worked. He was about 65 at the time. He stayed on the job for a while longer.
I actually put in a complaint to the computing centre of the university I went to as a grad student when they started doing away with all the card punches in favour of terminals. “People will waste their time hogging the terminals and other students will have to wait for them!”.
That’s actually a valid point when there were relatively few terminals around. With punch cards you punched your program submitted it, got back the results, and did desk-checking to figure out what went wrong. With a terminal you get back your results right away and figure out what is wrong while still connected. Much more efficient for you, but not for the guy waiting for a terminal to do his job. It’s one of the reasons why computer science students in the old days stayed up very late.
One advantage of punch cards for old machines is that it enforced job scheduling. When I taught PDP-11 assembler we had card trays which held the code for the students, and which got fed into the card reader one at a time. A new deck went to the back.
As I recall, even when terminals came into play, they basically acted like virtual punch cards for a while. So you still had the line length restrictions, the job control language, and the column positioning restrictions.
Punched cards themselves were horrible for learning computer science – much more of your time was spent on the mechanics of submitting code and getting results than you ever spent on the algorithms. The punch machines were always completely full so if you had a mistake or a syntax error, it could take five to ten minutes to make a simple correction. Then you’d submit your job and wait another 5-20 minutes until the batch of printouts came out of the magic printer room.
The only thing that could be possibly said for the punch card system was that it enforced a lot of discipline in your coding. You didn’t want to screw up, so programs got written out (in block letters on graph paper by hand) completely before you typed them in.
Huh?
If that’s COBOL, you mean column 8. And even that is a loophole; standard for statements is columns 12-72. (Though many compilers will let you get away with them starting in column 8.)
There were techniques for correcting typos without repunching the entire card. You used the duplicate function of the card punch and duplicated the old card up to the point you wanted to correct. To delete a character, you held the new card so it wouldn’t move and hit the space bar. To insert a character, you held the old card so it wouldn’t move and typed the character(s) to be inserted. Then you duplicated the rest of the card.
Gack! Way more work than was needed.
I’ve just gotten out of bed and the coffee isn’t done yet, so I don’t know if this will make sense.
When asking about the efficiency of modern input methods vs. cards, shouldn’t the relative efficiency be a comparison of what each method replaced? Like, ‘Typing code is x times faster than punching cards, and punching cards is y times faster than writing longhand,’ or ‘Installing a program from a flash drive it x times faster than loading the same program on a card reader, and loading a program on a card reader is y times faster than the average human programmer reading it in a document.’
And having typed all of that, I went back and reread the OP and see that it’s not what’s being asked. I need coffee.
Maybe that’s why you youngster computer science majors stayed up late
Back before those fancy-pants terminals became available, us 60’s era computer science majors stayed up late because you got better turnaround during the middle of the night. During the day you might get one or two runs back over an eight hour period, but by 4AM the queue was way down and you could get often get your job back in 20 minutes or so. Even faster if the fellow student pulling the paper off of the printer was a friend of yours and would grab and separate a new batch as soon as your job printed out.
My approach was to sleep every other night for about 12 hours, giving me the ability to spend the entire night at the computer center several times a week.
They called us “machine freaks” for some reason.
I don’t remember ENDIF in any Fortran I ever used, but Fortran statements started in column 7 and went to 72. Column 6 was for the continuation character (if your statement needed to span more than one card) and 1-5 were for the statement number (so you could GOTO that statement).
I’m not certain when the FORTRAN folks added it, but FORTRAN 95 includes the IF … ENDIF sequence. It also eliminates (if you prefer) the various column restrictions.
Have you waited your entire life for this thread?
Yes.
Some of us oldsters went to places with modern stuff. My first CS class, in 1969, ran on Multics - a very early version, still under development.
When I TAed the students guaranteed the availability of critical resources (us) in the middle of the night before assignments were do by bringing bottles of Southern Comfort. Worked very well.
John Donovan, in his Systems Programming book, mentioned that one way of getting your job to be run at higher priority was to put a green card in front of your JCL cards - a $5 bill.
I think the measurement is in the information theory sense, how much of the theoretical bandwidth got used. In this sense they were less efficient than paper tape, but in the sense of reducing the amount of rework they were a lot more efficient, since you didn’t have to punch an entire new card deck for a simple change.
Right. The other day I was explaining to my stepson about how amazing USB sticks were to me and how when I was a kid we saved data on cassette tapes, etc (cassette tapes? You mean those plastic things with two holes in them?), and how much faster and more efficient USB sticks and the like are. Then I started talking about punchcards, saying that it took a load of space to save paltry scraps of data, and he asked me just HOW bulky they were in terms of storage capacity, and thus my question about a 3 MB file (of any sort!) and it’s required storage space might be.
I didn’t even thing about processing time. I was just trying to express to him how freaking small everything has become, so I was thinking more in terms of wether that data would fit in…say, our living room or not.
So yeah, I was just asking about volume (at least I meant to). But other considerations are very welcome as far as I’m concerned. I am enjoying the thread very much and find it fascinating. If I am silent it is because I have nothing to add. All your anecdotes and memories are informative and entertaining, thanks so much for sharing! You guys are a living link to a soon to be forgotten past!
OK, if you’re looking for a size comparison in terms of storage media…
Back in the sixties IBM mainframe computers used “core memory”. They were little donut-shaped things, each just big enough to see individually. They were strung together in a grid pattern using tiny wires. As I recall, 256K of memory filled a storage cabinet (think of a small telephone booth), so a megabyte of memory required four cabinets. I don’t know how much each cabinet cost, but I’m confident that is was expensive.
So your typical $40 16GB USB memory stick would have required about 64,000 telephone-booth sized boxes of memory back in the sixties.
Pretty much, yeah