3 ms·
It certainly was not the article I was hoping for, which would say things like: -- Define and publish a formal syntax for your language. Do not get too clever
by ScottBurson 13y ago
It certainly was not the article I was hoping for, which would say things like:
-- Define and publish a formal syntax for your language. Do not get too clever with the syntax -- if you can't express some feature cleanly in BNF, don't do it that way.
-- Equality must be an equivalence relation: symmetric, reflexive, and transitive. If you don't know what that means, you have no business designing a language. [Equality is not transitive in either JavaScript or PHP.]
-- Comparison operators ('<' etc.) must be transitive. [Violated in PHP.]
-- Transformations that people expect to work must work. For example, 'if (p) a else b' must be equivalent in all cases to 'if (!p) b else a' [Visual Basic violates this].
-- The scope rules must be clear and straightforward, and not cause maintainability nightmares. [JavaScript fails.]