• taladar@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      4 months ago

      Verifying that your different pieces of code actually work together. With a static type system and similar compiler features you can lighten the mental load a lot compared to languages like Python where you need to keep it all in your head.

        • taladar@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          The problem with optional typing is that it has all the downsides of both but gives you very little of the advantages of a strong static type system, e.g. being able to rely on types catching certain kinds of errors when refactoring because you don’t know for sure that all APIs have types. It is really nothing more than an admission by dynamically typed languages that static types are so useful you can’t really do without them while at the same time not admitting that it might be best to move to a language and library ecosystem that was designed with static types from the start.