Keywords like `is`, `or`, `isnt`, instead of `==`, `!=` and `||`

As non-English (even non-Western language) speaker, I don't like keywords (or logical operators) like and and or.

I expect programming languages to use sigils to represent very fundamental or special meanings in the code. To me (and possibly many other people who also aren't fluent English speaker), sigils can be quite easily distinguishable from english symbols. For example, when reading foo && !bar && baz == qux, I can quickly recognize identifiers (symbols) foo, bar, baz, and qux, and imagine syntax tree that has them as a leaf.

However, when special and/or fundamental things are represented with english-like keywords, it would take more time to get the code's meaning. For example, when I see foo and not bar and baz is qux, I'll be confused and takes time to understand the expression, because keywords (operators) and identifiers (operands) look similar and my eyes slip on them (even if they are syntax-highlighted).

Same reasoning applies to |args| body syntax, I prefer it over lambda args: body or something like that. (Using same | to opening and ending would not be a good idea, but it is another topic.)

What I wanted to say is: Sigils would help some of non-English-native to read the code, and "naturally readable as an English-like statement" won't be nice feature for such people (at least for me). I think that comparisons, arithmetic operations, and logical operations are fundamental enough and worth using sigils.

12 Likes