⩵ != ==


One of the frustrating things about computers is their limited input options. A "standard" PC keyboard only has about 100 keys. Sure, some have some bonus buttons for controlling the machine, but it is becoming clear that there simply aren't enough buttons to efficiently program computers.

Most programming languages have the concept of relational operators. How does variable X compare to variable Y?

If we want to ask if X is less than or equal to Y, we write X <= Y. Which is a bit weird, because Unicode has a "less-than-or-equal-to" character: . But because there's no button for that on a standard keyboard, we use a hacky solution of jamming two characters together.

In the R language, the assignment operator is <- this is because programming keyboards used to have a button on them. That button has gone from modern machines, so we make do and mend.

There are some programming fonts which contain ligatures to automatically convert these characters (although this makes some people very grumpy).

Unicode includes (U+2A76) and (U+2A75) as distinct glyphs. So why are we still hitting the = key multiple times like savages?

This leads to the deeply weird situation where "⩵" ≠ "==" and absolutely no programming language that I know of will let you use the correct Unicode characters!

(Except, of course, Raku - which made this change based on my suggestion.)

Ideally, we need programming languages which support Unicode symbols as first class characters, and keyboards with a hundred more buttons.


Share this post on…

3 thoughts on “⩵ != ==”

  1. says:

    I have visions of developers becoming like 80s keyboardists with several keyboards surrounding them and some terrible fashion choices. We may even be half way there 😂 cool blog title!


    Reply

What are your reckons?

All comments are moderated and may not be published immediately. Your email address will not be published.Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <p> <pre> <br> <img src="" alt="" title="" srcset="">