• tram1@programming.dev
    link
    fedilink
    arrow-up
    16
    ·
    1 year ago

    I’m kind of a beginner… Can someone explain why you would make/use/have a dynamically and/or weak typed language? Is it just to not write some toInteger / as u64 / try_from()? I mean the drawbacks seem to outweigh the benefits…

    • noli@programming.dev
      link
      fedilink
      arrow-up
      15
      ·
      1 year ago

      The typical arguments for a dynamic typed language are that it takes less time to write something in it.

      The benefits of static typed languages are that your development environment can be a lot smarter (ironically enough leading to faster development speed) and several classes of bugs being unable to happen. In a statically typed language, the IDE can detect if you’re trying to call a function that takes a number but you’re actually providing a string. In this case the IDE will let you know and you can immediately fix silly mistakes like that.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      12
      arrow-down
      1
      ·
      edit-2
      1 year ago

      If you are writing small and simple apps it will give you more velocity and much less boiler plate.

      As apps grow it becomes harder to keep track of things and can quickly grow into a mess. You then start to need external tools to give you the features of a strong static type system.

      Also from a web point of view you don’t want the website to crash and burn with every error. JS will power through things like invalid types. Imagine if any error caused the website to just stop.

      • ironbeard@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        But a statically typed language would catch those errors before it even compiles…

        • Lmaydev@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          The fact it doesn’t need to be compiled is also a big reason why it’s used on the web.

          But I absolutely agree. I’m not a fan of dynamic typing at all.

    • qaz@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      1 year ago

      I prefer using JS because I can see the errors, while having to figure out which part generated the problematic JS code with errors when using something else.