The chain of inheritance
- An 80-column punched card, standardised in the late 1920s, held one program line per card.
- Early terminals were commonly 80 columns by 24 or 25 rows, so the same width carried over to the screen.
- Coding standards written in that period assumed it, and standards outlive the hardware that shaped them.
Why it did not simply disappear
The most interesting answer argues the number survived because it happens to sit near a good value for reading. Very short lines make reading tiring, because the eye is constantly returning to the start of the next one. Very long lines cause a different failure โ after tracking to the end, finding the beginning of the following line becomes unreliable and you re-read or skip. The comfortable range sits between those, and 80 is inside it. Typography arrived at similar measures long before computers did.
The argument for keeping a limit
- Code genuinely does get harder to read as it gets wider, independently of what the screen can display.
- Narrow lines make two files side by side practical, which matters for reviewing changes and comparing versions.
- A hard limit also acts as a signal: a line that will not fit is often doing too much, and wrapping it is a prompt to reconsider it.
The argument against this specific number
- Nothing about 80 is principled. It is the width of a card from 1928.
- Modern languages are more verbose per line, so a limit set for FORTRAN is tighter than intended when applied to them.
- Which is why current standards commonly land somewhere between 100 and 120 โ keeping the reason and discarding the number.