Hacker News new | ask | show | jobs
by chriszhang 2024 days ago
I know it was a joke but I am curious where the 80 columns limit originated? Fortran? Punched cards?
2 comments

Yes, it predates CRT displays:

https://en.wikipedia.org/wiki/Punched_card

“A 12-row/80-column IBM punched card from the mid-twentieth century”

The hardware was produced to match the fixed limitations.

Note: even with 12 rows a punched card traditionally stored only one line of the source text. That allowed editing by replacing one or more cards.

Also, even more details:

https://en.wikipedia.org/wiki/Characters_per_line

A minor nitpick - it's a 80x12 bits, not character rows. It held one 80-column line on each card. When I did it (a looong time ago) the reader printed the line on the top of the card.

The cards were one of the reasons CRT-based terminals such as the 2260 and 3270 had 80 characters per line (VT-52 had 64 and there was some 3270-like terminal w/ 40 columns.

> it's a 80x12 bits, not character rows

Never said anything else. The rows I've mentioned were clearly the rows of bits (represented by presence or absence of a hole). From a pure theoretical point of view it still appears to be wasteful (as the used character set encodings didn't use all representations of 12 bits), but there were "good enough" reasons behind that decision too: It all started from the design of the tabulating punched card from the 19th century, and from every digit 0-9 having its own row, and two more rows for other marks. The hardware depended on these properties.

125 years ago, the logic I've described was already there, 12 rows but still less columns on this card:

https://en.wikipedia.org/wiki/File:Hollerith_Punched_Card.jp...

Increasing the number of columns was obviously later technical improvement.

Punched cards. The 80x12 format "IBM card" was introduced in 1928! [1]

[1] https://en.wikipedia.org/wiki/Punched_card#IBM_80-column_for...

And there is/was an 8 character limit on COBOL variables.