Let’s do some digging into the first-generation of computers, and meet with punched-cards. Back then, they were the basic unit of data.
If you dreamed about running a program, you’d rather be patient and highly careful. This is why. First, as a developer, you would write your instructions in an old programming language (like Cobol or Fortran). It was written on a piece of paper, the coding sheet. Then you’d pass over your coding sheet to a keypunch operator that would “encode” it into a source deck. The source deck was a bunch of punched cards and each card was one line of instruction 😥 Then (yes I know that’s a lot)…the source deck was compiled by the computer operator into a program deck. And finally, that program deck could be fed to a computer to run!
😣 Have you ever seen a program running perfectly on the first try?… Well you can be sure you had to repeat the whole process again and again and again before it worked.
These steps were individually really long and cumbersome. The first generation of dev tools helped to solve these challenges.
To fix bugs, programmers had to go through the source deck. Initially, it was just a bunch of cards with some square holes. Reading back the original program was taking ages. So, keypunch printers were invented. On top of each punched card the translation in natural language was written. It was the first program reading interface.
What about the code complexity? With one instruction per card, it was easy to get entangled in complex programs. To monitor the complexity programmers stored the source deck in boxes (first source code hosting system 😎). The size of the boxes was actually built-in to fit the maximum batch size for a computer to run. This was an easy way for programmers to see when they had to refactor their code.
At the early stages of Computers, programmers were dealing daily with cards, boxes, rubber bands, and request forms. That might not seem highly sexy but dev tools had to be physical back then.
🏓 If you want to play with old school punched card, you should give a try to The Virtual Keypunch (https://www.masswerk.at/keypunch/)
Thanks for reading!
Top comments (0)