Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Historically, it was digraphs and trigraphs, or sequences of two or three characters-you-can-type standing in for a single character-you-cannot-type.

https://en.wikipedia.org/wiki/Digraphs_and_trigraphs

For example, in C, ??( is [ and ??) is ] which isn't so bad, but then there's this:

    // Will the next line be executed????????????????/
    a++;
The answer is no, it won't, because ??/ is \ which means the next line gets pasted onto the end of the previous one, which is commented out.

But this all goes back to ALGOL, which had some important digraphs:

> Early versions of ALGOL predated the standardized ASCII and EBCDIC character sets, and were typically implemented using a manufacturer-specific six-bit character code. A number of ALGOL operations either lacked codepoints in the available character set or were not supported by peripherals, leading to a number of substitutions including := for ← (assignment) and >= for ≥ (greater than or equal).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: