What good is a coding stick without a coding pad? It’s hard for many to conceive of a time when computers were programmed by people with only pencils and paper, sitting at mostly empty desks with no distractions, other than the window and the clock on the wall. So how did that work?
Way back, say 40 years ago, a programmer was expected to write code onto sheets like these.
The languages common at the time, Assembler, COBOL, and FORTRAN, were column formatted languages. If you didn’t follow the format rules you suffered. So the sheets were helpful in enforcing that. Often you would start writing on scraps of paper from old green barred paper listings. It was too easy, especially in Assembler, to leave out an important step. Or get the order wrong. So scribbling on greenbar using the wide margins, along with arrows pointing to added or reordered instructions, occupied the first few revisions. Only when you were were confident that you had solved the basic problem would you go to the coding sheet.
Computer time was far more expensive than programmer time. You were expected to code these sheets, in pencil of course, then submit the form to a keypunch team that would return you a deck of cards after a too long wait. Then you took the deck and inserted it into your assembler Job Control Language (JCL) deck, took that to a Remote Job Entry (RJE) card reader and hoped for the best. If you were really confident you appended your test deck to get it all in one run. Then you waited. The RJE reader put your job into a job queue. In time the job ran and the results were put into an output queue where the results were queued to a printer. Programmer feedback came in the form of big sheets of green barred paper. Your desk consisted of a flat surface covered with piles of paper and a bunch of pencils. If you were the methodical type you also had a flow charting template and another pile of paper with design notes.
Below is a blank punch-card and some more detail here
When the cards came back you "desk checked" the cards rather than wasting the computer’s precious time. If a card was wrong you simply replaced that card with another. But most likely you didn’t modify the coding sheet. You just walked over to a card punch machine and punched it yourself. The coding sheets were pretty much throw-away. The punch machines had a "dup" function so you could duplicate the parts of a card that were correct and only type in the changes. In those days there was no need for programmers to know how to type. Typing was a specialty and you didn’t want to put anyone out of work, right? The coming of terminals changed that later on. But for the longest time I did all my typing with two fingers.
What does a "Hello World" app look like in 370 Assembler?