• Nerd02
    link
    fedilink
    English
    3410 months ago

    I think there’s a positive coming from this competition, though. Apparently this infighting has re-lit the want for type annotations to be embedded in vanilla JS (ECMAScript proposal). I feel like this would be the ideal scenario: things working right out of the box without needing a compile step or additional tooling.

    You can get as close as it gets to this experience by using alternative runtimes such as Deno or Bun, which have native TS support (meaning you can just execute a .ts file without having to transpile it), but of course as soon as you have to write code for a browser you are back in the middle ages.

    • @TheCee
      link
      English
      4
      edit-2
      9 months ago

      deleted by creator

      • @[email protected]
        link
        fedilink
        3
        edit-2
        10 months ago

        Who the hell doesn’t use namespaces or enums

        Uhhh, typescript devs? Enums were useful once, but typescript evolved everything else around it and these days using direct values is actually far better.

        And I don’t think anyone uses Namespaces other than for defining external modules.

        • @TheCee
          link
          English
          0
          edit-2
          9 months ago

          deleted by creator

      • @[email protected]
        link
        fedilink
        210 months ago

        I don’t see any practical use case for it as is as anyone wanting to use them would want the full TS feature set anyways, but I could see it being a good step forward for more meaningful features to be added in the future.

        • @TheCee
          link
          1
          edit-2
          9 months ago

          deleted by creator

      • @[email protected]
        link
        fedilink
        English
        210 months ago

        Yeah it’s interesting because JS is interpreted, not compiled. The proposal allows for type annotations in the syntax but no actual interpreter consequences. On the one hand that makes sense because otherwise you’re in the territory of runtime type-checking which would be a huge performance hit and would sort of defeat the purpose of static types anyway. But that means you still have to rely on your IDE or a linter for this to be useful.