I've been trying to better understand (at least at a high level) why the early versions of HTML were designed the way they were. Most of the decisions make sense; I can deduce (at least at a high level) the probable thought process that lead to the design.
But one design decision doesn't make sense to me - whitespace collapsing. In a procedural langauge, whitespace collapsing makes total sense - you wouldn't want different types of whitespace to have different meanings. But HTML is a markup language. Pressing the newline key to start a new line just makes sense; pressing "space" twice when you want two spaces just makes sense. But HTML doesn't let you do this - you have to use <p>
or <br>
or
. Why?
So I had a bit of a Google. And I found an early (earliest?) version of the spec which states
The division of the stream of characters into lines is arbitrary, and only made in order to allow the text to be passed through systems which can only handle text with a limited line length.
But for me - not having lived through the early internet - this just raises more questions. What are "systems which can only handle text with a limited line length", and why would an HTML document need to "pass through" them? And my original question still stands - why was "division of the stream of characters into lines" defined to be "arbitrary"?
Any insight as to what the Cern guys might have been thinking as they designed this would be appreciated.