Punch cards were interesting - up to a point. We’d pencil-whip the lines of a program. Type each line one at a time into an IBM machine, which punched the appropriate holes in an eighty-column card. Assemble the cards in a stack, being careful to ensure they were in the proper order. Add cards at the front and back to tell the computer to execute the program. Then drop the stack in another IBM machine’s hopper, which read the cards, loaded the program, and executed it. (The dataset was already in there.)
The only problem was if I dropped the stack on the floor and scattered them. Or in a parking lot on a breezy day. AND if I’d neglected to use a pencil to write each card’s consecutive number somewhere on it. The cards had no other markings, not even the printed line of code. And it was bloody hard to decipher the holes. Which meant, if I dropped them and they scattered, I couldn’t get them back in order, and had to punch a fresh set of cards.
BTW, that was a mistake I made only once.