I suppose the title gives you the gist of what I was wondering. I’m talking about those old IBM punch cards, of course, which were used to store data on ancient computers.
I remember playing with them as a kid, a neighbor worked for some company that dumped them and we used them for paper and to throw at each other or whatever.
I was wondering today how many punch cards it would take to document something like what we think of as a small file today- an .mp3, a vacation picture on a new digital camera. So I’m thinking…3 MB file.
How many punchcards would it take to store that much data?
So you’re looking at a stack 14"7’ tall. or roughly 2.43 cubic feet.
18.15 gallons, if that’s an easier to grasp volume.
Mass would depend on the material used. Commonly run programs or data might be made of a plastic coated for improved durability while once-off data cards might be simple paper cardstock.
Ha, thanks for all the help. That’s fascinating. I realize now that I actually meant volume rather than mass. If you guys have more to add that would be totally welcome. I find this all very fascinating. Call me weird.
I have enough to calculate out from here, though. Thanks!!!
I was going to say that each card could hold 80 bytes (or 640 bits), based on my very clear memories of a typical 80-column card, each column representing one character of data. Then I went to check my memory, and found this Wikipedia article, which shows that you are correct: the 80 columns had twelve bits each, for a total of 960 bits.
But I still want to defend my initial answer, because a true response to the OP must address not just the content of the cards, but their efficiency. According to that Wikipedia article, these cards could be encoded in several different competing binary formats, but in no case did a single card carry more than 80 characters of data. Thus in terms of usefullness, I’d say that the 3MB file (mentioned in post #2) needs 37500 (3 million divided by 80) cards — 50% more than previously calculated.
Note that the actual binary format supported by later IBM card devices only used 72 columns of the card (as noted in the article Keeve cites). So 72*12 = 864 bits/card or 108 bytes. You could punch more holes but a) the machines won’t read them all and b) the equipment might jam. (Which is why there was a limit.) The worse case scenario is a lace card.
These cards were used in offices for taking notes, much as post-its are used today. IBM even made a “card holder” to place on the desk where you could just take a card and write on it. I have some cards, one of these card holders, some S3 (smaller) cards, some 8" floppy disks and a bunch of stuff which can be considered antiques of historical interest or, more commonly, junk, especially by the people who know me.
I wrote Fortran programs on them at high school in the 1960s. We would send them off to the university computer (there weren’t many around). Days later they came back with a report. It could take weeks to get a clean compile.
That’s a shame, because you missed the coolest part of the punch-card experience–hearing the braaaaaaap noise the cards would make as they ran through the reader.
So a 12-bit column could support a 4,096-character set. That seems a little silly–did anybody ever use anywhere close to that many characters?
The normal encoding schemes involved one character per column, so that would be 80 bytes per card.
In addition, normally you would use some of the columns for a sequential number. If you didn’t, and dropped a large deck on the floor, there would be no way that you could get the cards back in order, so you might as well throw them away. (With numbered cards, you could put them through a card sorting machine, which would sort them one column at a time). So that might mean 72 columns usable for real data.
Yes, I’ve worked with those punched cards. My earliest library jobs included working with circulation systems based on using punched cards: one punched card in the back pocket of the book, part of which was automatically copied onto a second punched card to record a circulation transaction.
Remember that the encoding used on punch cards supported electromechanical devices like collators before computers. You wired the machines to do basic tasks like sort decks of cards on the basis of the characters / numeric values in various columns. You couldn’t really “program” the things in any sophisticated fashion, just make them manipulate card decks on the basis of which brushes in which row/column made contact through the holes of the card. The encoding facilitated doing that sort of thing. For instance, one setting in the top two rows flagged the character as numeric, then the actual digit 0-9 appeared in the bottom ten rows. So your electromechanical device could easily route all cards with, say, a number greater than some desired value in certain columns.
And Giles gave one rather good reason for having an electromechanical sorter around that survived into the computer era.
And wiki points out that data was originally ALL numeric, with the top two rows being “zone punches” - two flag bits on the digit, essentially. That meaning had pretty much disappeared by the time they were used for computer decks - the 12 columns simply mapped into EBCDIC. This guy gives a lot of details, including the EBCDIC mapping:
I guess it’s not quite a craft, but it was always fun to spread punch card confetti (i.e. the bits that get punched out) between somebody’s sheets in residence. Those little bits of cardboard are quite pointy and uncomfortable if you are lying on them.
As far as efficiency is concerned, don’t forget all the labor involved. 1) Someone fills out a handwritten sheet specifying what should be puched, 2) The sheet is handed off to someone else who actually punches the cards, 3) Someone proofreads the cards, 4) The cards get read into the computer, 5) The program finally runs.
Then add in correcting any errors by punching new cards, someone dropping all the cards on the floor and having to resort them, etc.