They come from C AFAIR when it was not known what special characters are on the keyboard. Thus, in order to have a portable language, it was defined so that anyone could use C, even if it used a keyboard without & , | or ^ (etc.).
Currently, when QWERTY is the standard (with AZWERTY and co. As options), this is no longer a problem.
PS. And, of course, for obfuscation code contests;)
Maciej Piechotka Mar 06 2018-10-06T00: 00Z
source share