Rationale for line-ending recommendation?
Mon Dec 22 19:16:00 GMT 2008
On Mon, Dec 22, 2008 at 02:12:11PM -0500, Linus Hicks wrote:
>On Fri, Dec 19, 2008 at 12:02 PM, Corinna Vinschen wrote:
>> Yeah, right, if this were in fact the 21st century, why would we ever
>> have to deal with a 30 year old, idiotic-from-the-start text file format
>> using two line ending chars?
>How quickly we forget...
>The first devices that had any understanding of this kind of data
>stream generated display characters through mechanical means - much
>like an old mechanical typewriter. These devices all had a carriage
>that moved left to right or right to left depending on whether you
>moved the paper or the print head while it struck an inked ribbon
>between a platen and character dies that supplied a limited and fixed
>set of characters.
>The people who designed these things obviously saw the carriage return
>as distinct from the linefeed. In fact, these devices had no capacity
>to buffer the input data stream and even at 300 baud, it took longer
>to return the carriage than the interval between characters. If you
>did not supply some non-printing characters in the data stream after
>the CR/LF sequence, it would print the next character about half way
>back to the beginning of the next line.
>If you sent only CR as line terminator, you got all lines printed on
>the same line and eventually ate a hole in the paper. If you sent only
>LF, the carriage would shortly reach the far right margin and print
>each line in one character position on separate lines.
>Early design decisions, however well considered, sometimes remain to
>encumber the future, often for reasons of compatibility. The
>constraints of available technology at the time of an innovation can
>play a crucial role in this process.
Ok, this discussion has teetered into off-topic territory, as it always
does. Gary has already taken the discussion to the cygwin-talk list.
If anyone is compelled to provide more history lessons (whether it's past
history or future history), please use the cygwin-talk list.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin