Trạng thái đáng buồn của "bộ tách bản ghi" hoặc "bộ kết thúc dòng" là một di sản của thời kỳ đen tối của điện toán.
Bây giờ, chúng tôi chấp nhận rằng bất cứ điều gì chúng tôi muốn đại diện là theo cách nào đó dữ liệu có cấu trúc và tuân thủ các khái niệm trừu tượng khác nhau xác định các dòng, tệp, giao thức, tin nhắn, đánh dấu, bất cứ điều gì.
Nhưng đã có lúc điều này không chính xác. Các ứng dụng tích hợp các ký tự điều khiển và xử lý dành riêng cho thiết bị. Các hệ thống chết não đòi hỏi cả CR và LF đơn giản là không có sự trừu tượng hóa cho các bộ tách bản ghi hoặc bộ kết thúc dòng. CR là cần thiết để có được màn hình teletype hoặc video quay trở lại cột một và LF (ngày nay, NL, cùng mã) là cần thiết để đưa nó tiến lên dòng tiếp theo. Tôi đoán ý tưởng làm một cái gì đó ngoài việc đổ dữ liệu thô vào thiết bị là quá phức tạp.
Unix và Mac thực sự đã chỉ định một sự trừu tượng hóa cho đầu dòng, hãy tưởng tượng điều đó. Đáng buồn thay, họ chỉ định những người khác nhau. (Unix, ahem, xuất hiện đầu tiên.) Và một cách tự nhiên, họ đã sử dụng mã kiểm soát đã "gần gũi" với SOP
Vì hầu hết tất cả các phần mềm điều hành của chúng tôi ngày nay là hậu duệ của Unix, Mac hoặc MS điều hành SW, chúng tôi bị mắc kẹt với sự nhầm lẫn kết thúc dòng.
\n
thường được đại diện bởi một nguồn cấp dữ liệu, nhưng nó không nhất thiết là một nguồn cấp dữ liệu.