• hark@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    14 hours ago

    Just joking since I’m not a fan of Python’s design choices, but I do worry that as development goes on the tech debt will pile up and will be more difficult to maintain.

    • OpenStars@piefed.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      13 hours ago

      Is that because Python breaks everything seemingly every time it updates? I don’t know Python well, that’s just what I seem to hear people saying often.

      If so, would it really matter so much in this case, bc it’s not code running on clients so much as a handful of server machines, so couldn’t the specific library version used be mentioned and constrained to be used?

      • hark@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 hours ago

        I don’t like indentation affecting which block code belongs to, its poor type safety (with type hints being a minor band-aid), awful multithreading capabilities (being able to disable the GIL now helps but introduces its own issues), and multiple design decisions which, although make Python flexible and dynamic, make it hard to optimize running Python code and so all the performant libraries are written in something else like C and then you’re stuck having that as a dependency.

        • OpenStars@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 hours ago

          In trying to learn more about it, I copied and pasted code the other day… ofc it broke everything I had previously built up, but invisibly ofc bc why da fuq not. Fortunately copying and pasting code is something that real programmers never, ever do, right? :-P (I use Vim btw)

          The literal creator of Python said that when first learning it, it is best to avoid an IDE. But if that would better handle a copy-paste…

          Also one of the standard tricks in any C++ style language is to purposefully write a single line or block of code that is meant to be ran once then intended to be thrown away - i.e. debugging - in a radically different indentation style so as to call attention to it, whereas in Python it absolutely must blend in with the entire rest of the code block:-(.

          In reading about the situation, Python did not “win” so much as Perl shot and killed itself with the whole 6 vs. Raku situation:-(.