• @AeroLemming@lemm.ee
      link
      fedilink
      English
      829 months ago

      Honestly, fuck dynamic typing in general. That shit saves you a few seconds and costs you a few hours.

      • @______@lemm.ee
        link
        fedilink
        319 months ago

        I started as a python enjoyer. 6 years later I can confidently say fuck dynamic typing, fuck mutable defaults.

        Also fuck python and js (used both for work) TS is better but we all know it’s not by much

        • @jvisick@programming.dev
          link
          fedilink
          159 months ago

          TS is “better” but often I feel like just configuring typescript takes up a significant amount of the time you save by using it.

          • @______@lemm.ee
            link
            fedilink
            59 months ago

            It gets easier the more you do it but ts needed a default official config to start things up with.

            • @ADTJ@feddit.uk
              link
              fedilink
              29 months ago

              Hahaha exactly! I feel like every time I start a new TS project, I start by copying the tsconfig from an existing one

              • @PeWu@lemmy.ml
                link
                fedilink
                29 months ago

                This. I actually have template which I’m using for all my small projects.

          • @Rooki@lemmy.world
            link
            fedilink
            19 months ago

            Yeah, i feel the same but it is at least configurable and not terrible configurable like python

      • Kayn
        link
        fedilink
        English
        139 months ago

        Right tool for the job.

        If I just quickly want to whip up a small script, I actually want to save a few seconds.

        When I’m doing something larger in scope, static typing all the way.

        • @AeroLemming@lemm.ee
          link
          fedilink
          English
          99 months ago

          That’s 100% spot on. Those hours lost never come if the whole project is done in 30 minutes.

      • @AnomalousBit@programming.dev
        link
        fedilink
        -109 months ago

        IDK buddy, I don’t really care to write the same method for five different types (or read the 30 methods with different type signatures) when I can do it with one. I see the exact opposite of your statement, in my experience.

            • @wols@lemm.ee
              link
              fedilink
              129 months ago

              Extra steps that guarantee you don’t accidentally treat an integer as if it were a string or an array and get a runtime exception.
              With generics, the compiler can prove that the thing you’re passing to that function is actually something the function can use.

              Really what you’re doing if you’re honest, is doing the compiler’s work: hmm inside this function I access this field on this parameter. Can I pass an argument of such and such type here? Lemme check if it has that field. Forgot to check? Or were mistaken? Runtime error! If you’re lucky, you caught it before production.

              Not to mention that types communicate intent. It’s no fun trying to figure out how to use a library that has bad/missing documentation. But it’s a hell of a lot easier if you don’t need to guess what type of arguments its functions can handle.

        • @AeroLemming@lemm.ee
          link
          fedilink
          English
          99 months ago

          I take it your only experience with statically typed languages is with C. It’s a big world out there!

        • @SorteKanin@feddit.dk
          link
          fedilink
          4
          edit-2
          9 months ago

          Type signatures help you to know what a function takes and returns. With dynamic typing, I have to read the entire code of the function just to know this (sometimes even this doesn’t tell me what will actually be returned due to duck typing).

          More importantly, type signatures help the compiler verify the types.

          Both of these get more and more important as the code size increases. I’d suggest you widen your horizon about static typing.

    • @jjjalljs@ttrpg.network
      link
      fedilink
      279 months ago

      Most python error messages are pretty straightforward so I legitimately don’t know what you’re talking about

      • UnfortunateShort
        link
        fedilink
        269 months ago

        I was gonna say, next to C++ you better don’t shame other languages for their errors. Otherwise I wish you some “fuck you: error in library used in library used in template of template:: some template object is not correct type of template obejct”-type bullshit.

    • Turun
      link
      fedilink
      199 months ago

      Which part in particular? They were improved in 3.10 and 3.11

  • @jubilationtcornpone@sh.itjust.works
    link
    fedilink
    English
    479 months ago

    “I dOnt lIkE tYpEsCrIpT. iT aDdS uNnEcCeSsArY cOmPlExItY.”

    Well I don’t like the PTSD I have from trying to refactor your God awful native JavaScript codebase. It has enough magic strings to summon the Dark Lord himself.

  • DarkenLM
    link
    fedilink
    389 months ago

    Say what you want about it, but it will not go down without using everything in the vicinity as a weapon if ammo runs out. While others go down, they will be kamikazeing themselves to get the job done.

  • @orcaA
    link
    23
    edit-2
    9 months ago

    I write JS/TS daily and I agree with this lol.

    I’ve offset it with Golang lately.

    • @Badland9085@lemm.ee
      link
      fedilink
      129 months ago

      Ehhh, golang’s pretty down there for me too. Sure, you have types, but the way you “implement” an interface is the sussiest thing I’ve seen in most well-known programming languages. Not to mention all the foot guns (pointers for nullables is a common one, and oh, if you forgot that a function returns an error, and you called it for its effects, you’ve just built a possibly very silent bomb) you end up building into your programs. I use in prod, and I get scared.

      • @orcaA
        link
        29 months ago

        I’m pretty new to it. The types and struct stuff are a bit hand-wavey, but I like how quickly I was able to ramp into it. I built a simple API with it in a few hours.

        • @Badland9085@lemm.ee
          link
          fedilink
          29 months ago

          2 things I like about golang is just 1) the ease of getting someone to start work, and 2) goroutines. I have no complains about goroutines cause I’ve barely used it, and when I do it’s been fine. The first point though, I’d say the simplicity of the language is a double-edged sword — it’s easy to learn with little surface to cover, but it forces you to implement a lot of basic machinery you find in other languages by yourself, and so your codebase can get clunky to read really quickly, especially as your project grows.

          Not trying to dissuade you from learning golang tho. I think it’s a good language to learn and use, especially for small simple programs, but it’s not the great language many try to say it is. It’s… fine. There are many reasons why it grinds my gears, but I’m still fine with using it and maintaining it for prod.

          • @orcaA
            link
            39 months ago

            “Clunky” - this hit it on the head for me. When I was initially getting started, some of the setup and boilerplate felt awkward. It feels very barebones, which I can see the benefit if you’re not a fan of opinionated, but as a project grows, it seems like a dark corner that technical debt and spaghetti code would amass.

    • @AeonFelis@lemmy.world
      link
      fedilink
      99 months ago

      Go has the pitfalls you’d expect from an abused configuration language, not from a modern statically typed language.

  • @4am@lemm.ee
    link
    fedilink
    159 months ago

    Until today I thought being a typist just meant you could press keys quickly

  • @Tartas1995@discuss.tchncs.de
    link
    fedilink
    19 months ago

    I disagree with the meme but mostly because I think all programming language are fucking clowns at times. I Don’t think that you should use typeless languages for huge projects but I also think that for a little Js library, Js is fine.