• FishFace@piefed.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 hours ago

    A language’s deficiencies are rarely obvious when everyone is writing it perfectly.

    But a coherent type system gives the programmer confidence - for free. Do you know what [1] + [2] is in JavaScript? Do you know what type it is? JavaScript teaches you that it has operator overloading for built-in types but then it behaves in such a dumb way you can’t use it.

    That’s explained by a desire to be extremely lenient, but it’s not justified by it. Programming langauges are generally not made by idiots, so every bad decision has an explanation.