For programmers, CRLF (carriage return and line feed) is certainly familiar. CR (r, carriage return) moves the cursor to the leftmost side of the current line, and LF (n, line feed) moves the cursor down one line.There is also New Line (NL, NewLine), which refers to moving the cursor down one line and to the far left of the current line.
CRLF exists mainly to be compatible with file formats of different operating systems. Usually Windows uses CRLF as a newline character, while Unix/Linux and macOS only use LF.
Recently, D. Richard Hipp, the founder of the SQLite database, proposed that CRLF is outdated and should be abolished.
Hipp believes that the origins of CRLF can be traced back to the era of mechanical teletype machines 70 years ago, and that such a character combination is no longer needed in modern computer environments.
He points out that in most programming languages and modern machines, only LF is used to represent a new line, while CR has no practical use in most cases.
Hipp even made four suggestions, including stopping the use of unnecessary CR characters and changing the name of U+000a in Unicode to "newline" instead of "linefeed".
As soon as this view came out, it aroused strong resonance among many programmers, and many people also held different views.
Some people think that CRLF often causes confusion in cross-platform text file processing, especially when parsing these files when programming.
But there is also a point of view that dealing with different or mixed line endings is not a complicated problem, and existing standards should not be changed because of individual convenience.
Others argue that the real problem lies with poorly designed Unix tools and Git, which have problems handling line endings.
Faced with the discussion, Hipp eventually withdrew his proposal, admitting that although his idea was almost successful in theory, the reality of software dependencies was much more complicated than he expected.