Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'd like to try programming with punch cards once in my life. How can I do this?

I'm in my 30s, and grew up entirely in the PC era, programming on computers with screens and keyboards. I want to experience the way my father and grandfather used to work. I imagine the hardware (and probably the cards themselves) are no longer manufactured. Are there any universities or museums with functioning punch card readers anymore? I'm in Boston, but I'm willing to travel to do this.

I asked MetaFilter, and I got some mixed answers (along with a lot of "no, don't do this" nay-saying). I did get a pointer to the Retro-Computing Society Of Rhode Island, but I haven't received a response to my email to them yet.

share|improve this question
    
you would probably have to spend a lot of time digging up leads to people with old machines that hopefully still work and finding punch cards for them, I would imagine this to be fairly expensive since these machines will be quite rare since preserving history generally wasn't a goal in the field. –  Ryathal May 21 '12 at 14:15
    
Well, depending on your location, some places have fantastic historic computing facilities. My university did and I loved the opportunity to program an altair with switches and a PDP. Seen a working teletype and such too. There are a lot of organizations that try to preserve those types of artifacts. The best answer would be to seek those guys out. You would be surprised what some of these folks have. –  Rig May 21 '12 at 16:30
1  
Working keypunches can probably still be found relatively easily; working cardreaders probably less so. Cardreaders were finicky when they were new and well-maintained, so I'd be surprised if you could find one that was a) in working condition, and b) accessible. –  John Bode May 21 '12 at 18:23
3  
How about writing an application to simulate puch card machines? - This can be interesting! –  Emmad Kareem May 24 '12 at 15:35
    
Actually, there is a lot of process stability merits to some of the more legacy technology - the like of which could do with a re-emergence. If you knew you'd have to wait half a day to link, load and objectify your own code, you'd probably start writing more stable apps. –  user63431 Sep 4 '12 at 20:19

5 Answers 5

if you have a scanner you can DIY it with some image recognizing software, an emulator, a few dead trees and a felttip pen

share|improve this answer
    
Inspired by the image recognition idea, I went looking around for a punchcard emulator. Didn't find one. But this could be a fun OCR project. :) –  Hydrangea May 24 '12 at 15:08

Just program like you usually do, except that:

  • You can only have one source file.
  • Whenever you want to modify code, retype the entire line.
  • Whenever you want to run the program, turn over a ten-minute timer and turn off the screen. When the timer runs out, turn on the screen and run the program.
share|improve this answer
14  
I get this kind of response a lot, and I'm not sure why. Doing things the old fashioned way has benefits, especially if you care about history. Do you mock people who bake bread from scratch or brew their own beer, or build furniture, too? –  Plutor May 21 '12 at 15:59
15  
@Plutor What you're proposing is not the same as baking bread. Home bakers and brewers do it themselves because it puts them in control of the final product and offers an alternative to the (arguably inferior) commercial product. What you're talking about is more akin to participating in a historical re-enactment -- its the experience of doing it the old way that you're after, not the final product. As far as I've seen, historical re-enactors themselves usually have a pretty good sense of humor about the merits of the endeavor. –  Caleb May 21 '12 at 16:52
10  
@Plutor BTW, this answer is probably closer to the truth than you might imagine. Most programmers in the very old days didn't get to touch the machine -- only operators were allowed to do that. So to get the essence of the experience, set your favorite kid up with a lab coat in an over-air-conditioned room. Then write your program out first in longhand, and then retype it on a manual typewriter. Deliver it to the kid in a box with the pages in order, and have the kid enter it into the computer, run the program, print the results, and leave them in your mailbox. That's close to how it was done. –  Caleb May 21 '12 at 17:03
3  
Plutor: I have done my share of keypunching. You might find it interesting for a couple of minutes; then it's just tedious. It's just obsolete technology and the results are inferior in every way to modern code. –  kevin cline May 21 '12 at 17:15
2  
Plus there's the opportunity to drop your box of cards on the way to the computer building, forcing you to return to your office while you try to put everything back in order. You did remember to number all your cards with sequence numbers, didn't you? (Bonus: it was raining when you dropped the cards…) Thank God I am too young to have experienced any of that! –  Donal Fellows May 21 '12 at 20:00

Maybe you could just get close to this by using an emulator, like:

http://www.kloth.net/services/cardpunch.php

This gentleman here seems to have some nice information on rolling out your own emulator:

http://www.divms.uiowa.edu/~jones/cards/

Which partly inspired:

http://dev.technikum29.de/projects/checkout/paper-tape-project/documentation/index.php/punch-card/README.htm


Personally, I like your idea/approach :)

share|improve this answer

My immediate guess is "probably no" to a fair number of your questions. While there are undoubtedly at least a few card punches and readers left in the world, my immediate guess would be that it's been long enough since anybody's tried to use them that there's little certainty that they'd work even if somebody tried.

At least based on my recollection, card punches were sufficiently reliable that many of them probably still work. They're not really a lot different from typewriters, except that when the the "thing" swings forward to hit the paper, it doesn't just hit hard enough to push a ribbon against the paper -- it swings enough harder to punch a hole through.

I'm going from distant memories, but my recollection of card readers is quite different -- that they needed servicing quite frequently. In fact, when I was working on a mainframe, I seem to recall our having three card readers -- but rarely being able to use more than two at any given time. At least if memory serves, the card sorter was actually even a bit worse. In both cases, I'm pretty sure most of the problems stemmed from the mechanical parts to feed the cards into the reader proper.

I have to say, however, that in this case I see little (if anything) to gain from "doing things the old-fashioned way." I'm hard put to think of any benefit from Hollerith cards that can't be achieved much more quickly, easily, and dependably by more modern methods. I suppose (in theory) they did encourage some discipline in programming, and actually looking carefully at code before committing to running it (which, at least in my experience, was more often "overnight" than the "10 minutes" @Kevin Cline mentions).

Truthfully, however, a decent screen is a much better way to do that than Hollerith cards. When we had to do it back then, we usually got a print-out on 132-column fan-fold paper. I can't imagine trying to proof-read even a trivial program directly on the cards.

Bottom line: good luck -- but don't get your hopes too high about really learning much from this, even in the rather unlikely even that you manage to do it.

share|improve this answer

Using an existing punch card machine is only half the fun of retro-computing. How about building your own from Lego?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.