• skulbuny@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    2
    ·
    2 months ago

    All static typing means is that types don’t change, eg you can’t declare a var as a string and later assign a number to it.

      • skulbuny@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        2 months ago

        Name one statically typed language that doesn’t have that property. Name one non statically typed language that has that property.

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          It’s much more involved than that. For example, static type systems involve checking that the functions you call accept the types of parameters you’re supplying then. It’s a necessary part of static typing but alone is not sufficient.

          If this code were a valid program in some hypothetical language but only failed at runtime then that would be an example of dynamic typing because the types cannot be verified statically (e.g., at compile time).

          var a = 1
          a = "a"
          

          But you’re right, I don’t really know of any languages like that. I could’ve sworn I heard this called strong typing but I can’t easily find a source. And strong/weak typing are a mess of definitions nobody agrees on.