Essentially all major programming languages exclusively use keywords written in English. (For a couple of exceptions, see the addendum at the end.)
But this doesn’t have to be the case!
By using symbols instead of words, we can convey a concept both more concisely and more easily across languages.
See below for a few suggested changes:
Fig 1: This image of a snake eating its own tail is a much more visceral and obvious representation of an endless cycle than the words “WHILE TRUE.”
Fig 2: “IF” and “ELSE” have specific meanings in English. But “Else” is also a Scandinavian name! By using these unambiguous symbols, we avoid any existing meanings that might confuse people.
Fig 3: Data types (“integer” / “floating point number” / “text string”) can be replaced by these intuitive images instead. This also avoids the issue of having multiple synonyms for each type. For example, a non-integer number could be called a “float,” a “real,” a “double,” etc.—but there’s only ONE symbol to represent this concept.
Fig 4: Some languages use “for” to create a loop, while others use “foreach” (or “forEach,” or “for (item) in (set)”). To prevent confusion, we can standardize on a single symbol (above) to convey the idea of iteration through a loo.
Don’t write another line of code in your old-fashioned text-based programming language! Programming emoji is the future.
PROS: More easily seen at small font sizes. Works across languages, and prevents any misunderstanding arising from a word having an existing unrelated-to-programming meaning (e.g. “float” meaning “to rise to the surface of water” in addition to “a ‘floating point’ number”).
CONS: Requires new custom fonts and/or Emoji support.
Fig 5: An extended set of proposed replacements for basic programming terms. Color is optional, but recommended.
Here are a couple of programming languages that can make use of non-ASCII symbols:
- “APL,” a language created in 1964, is well known for making use of a special set of symbols. Here is an example from Wikipedia: (~R∊R∘.×R)/R←1↓ιR . It is actually possible to order a keyboard with these symbols printed right on the key caps!
- Perl 6 supports numerical characters like “⅒” (a fraction) or “Ⅻ” (a Roman numeral), as documented here.