Three questions of language design

Note: An LLM was not used in writing this article.

There seem to be three interesting questions when I look at a new (mainstream/practical) programming language:

  1. How does it deal with equality/ordering?
  2. How does it deal with arithmetic and operators for the arithmetic?
  3. How does it handle errors?

The typical answers in reply are (1) inconsistently, (2) it’s magic, (3) at least two, incompatible, ways.