Why do carriage returns ruin everything in Unix?
I see a lot of questions about how to remove them, but I haven't found an answer as to why they "mess up" all my testing/printing functions in Unix systems and terminals.

So, in a programmer sense, why do carriage returns mess up Unix shells. It seems I'm always writing the same code in different languages to trash them.
Why do carriage returns ruin everything in Unix?
===

I see a lot of questions about how to remove them, but I haven't found an answer as to why they "mess up" all my testing/printing functions in Unix systems and terminals.

So, in a programmer sense, why do carriage returns mess up Unix shells. It seems I'm always writing the same code in different languages to trash them.