Punch card programming died out in the early 70s. That’s when developers started writing their programs directly into the computer, storing them in persistent memory for the first time. Here is a short training video from 1969 which gives a good introduction to what programming with punch cards was like.
Being a developer born after this era of computer science, I wanted to explore this lost art. With punch card machinery being mostly confined to museums today, I’ve built a emulator to get a feel for what it may have been like. Below is an emulator based on the very popular punch card format IBM-029. This is the same card as seen in the video above.
The green text at the bottom indicates the value of each column. Red indicates invalid values.
If you haven’t done so already, load the program All characters to see how to make each available character. Any characters not shown there are simply not possible. No lowercase characters, no curly braces.
One notable difference in my emulator is that the “card” only contains 72 columns. A traditional IBM-029 card had 80 columns. The last 8 columns did not contain source code, so I have opted to leave them off due to screen space constraints. These columns were traditionally used to specify card order, like line numbers in modern text editors. They proved to be very useful should you drop your computer program on the floor!
It’s interesting how little things have changed since the era of card punching. While we now type directly into our text editors, we are essentially doing the same thing. A single punch card represented a single line of code. Each column in the card was used to indicate a single character, no different than a single keyboard press into a text editor.