Smutny stan „separatorów rekordów” lub „terminatorów linii” jest dziedzictwem mrocznych epok komputerów.
Teraz przyjmujemy za pewnik, że wszystko, co chcemy reprezentować, jest w jakiś sposób uporządkowanymi danymi i jest zgodne z różnymi abstrakcjami, które definiują linie, pliki, protokoły, wiadomości, znaczniki, cokolwiek.
Ale pewnego razu nie było to do końca prawdą. Wbudowane aplikacje sterujące znakami i przetwarzanie specyficzne dla urządzenia. Układy pozbawione mózgu, które wymagały zarówno CR, jak i LF, po prostu nie miały abstrakcji dla separatorów rekordów ani terminatorów linii. CR był niezbędny, aby teletyp lub wyświetlanie wideo powróciły do pierwszej kolumny, a LF (dziś, NL, ten sam kod) był konieczny, aby przejść do następnej linii. Myślę, że pomysł zrobienia czegoś innego niż zrzucenie surowych danych do urządzenia był zbyt skomplikowany.
Wyobraź sobie, że Unix i Mac w rzeczywistości określiły abstrakcję końca linii. Niestety wymienili inne. (Unix, ahem, był pierwszy.) I oczywiście użyli kodu kontrolnego, który był już „bliski” SOP
Ponieważ prawie całe nasze dzisiejsze oprogramowanie operacyjne jest potomkiem systemów operacyjnych Unix, Mac lub MS, utknęliśmy w punkcie kończącym zamieszanie.
\n
jest zwykle reprezentowany przez wysuw linii, ale niekoniecznie jest to wysuw linii.