![](https://www.lunarmobiscuit.com/wp-content/uploads/2024/06/S-360-720x180.jpg)
While reading about nostalgic computing on the Chip Letter, I came across the following picture of hand-written assembly code for the IBM S/360. What caught my eye wasn’t the paper spreadsheet, but the ah ha moment of clarity explaining why assemblers assume anything in the first column of text is a label, i.e. why assemblers require mnemonics to be prefixed by a space or tab.
![](https://www.lunarmobiscuit.com/wp-content/uploads/2024/06/S-360-assembly-1024x666.jpg)
I’m an old programmer, but when I learned to code it was the 1980s and thus I first coded on a CRT. I missed the age of punch cards and I certainly never coded using pen on paper.
What is amazing is how the designs of the past can continue on decades and decades into the future, when the restrictions of the past are long gone. How many programming languages today still use prefixed whitespace as explicit structure? How many of those programmers know those designs are based on pen-on-paper programs written on paper spreadsheets?