• MangoCats@feddit.it
    link
    fedilink
    arrow-up
    24
    ·
    2 days ago

    Python was an even bigger mess in 2022 than it was in 2010. The version control hellscape intensifies with the more things there are to have version incompatibilities with.

    • im_fine_sandy@nord.pub
      link
      fedilink
      English
      arrow-up
      16
      ·
      edit-2
      2 days ago

      I have lots of experience with node and a little with python.

      Python seems great for working with large data sets and I really like jupyter notebooks. The available libraries are really great.

      However, the thought of installing a Python CLI app makes me twitchy.

      I suspect that node has all the same problems and that I’m used to working around them, but all the Python environment stuff is a nightmare.

      Edit: dear python dweebs: I don’t care.

          • MangoCats@feddit.it
            link
            fedilink
            arrow-up
            6
            ·
            2 days ago

            Just stand up a VM to do it in, so you don’t corrupt anything else you made in python that you also want to run on the same box, amirite?

              • MangoCats@feddit.it
                link
                fedilink
                arrow-up
                1
                ·
                12 hours ago

                A venv is still a container to setup, configure, more environment to manange.

                My preference is for an app that runs without all that, something I can build, link and distribute as a single executable file which runs when it runs and doesn’t leave a pile of (usually highly disorganized) infrastructure to untangle when we’re done with it. Yes, of course a venv done well helps with that - except when they’re done by the average piker.

      • MangoCats@feddit.it
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        The available libraries are the ONLY excuse for Python.

        When you need tools more sophisticated (and labor intense) than your tool to make your tool functional, it’s time to re-examine your choice of toolchain.

        • GeirGrusom@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          1 day ago

          Yeah, Python as a language is a mess IMO. We used it for making a electrical simulator and the language is…bad. The variable scoping, lack of explicit variable declaration, backwards comprehension syntax, the VERY CONFUSING object orientation design, that classes aren’t serializable by default, package story and deployment… It really has very little going for it, and combine all that with the awful performance characteristics it’s just…no.

          Today I’m “Rust if it fits, if not Rust then C#”. We re-wrote the simulator in C# and performance was 70x better and the code got shorter, the deployment was hell of a lot easier since we went AOT and it just builds a native binary for the target platform. No virtual environment crap.

          • Aatube@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            1 day ago

            Python is very opinionated. I like it (other than the stupid ternary operator) but I can very much see why others don’t. (At the same time I will fight for it. It’s like the GNOME of programming languages.)

            • MangoCats@feddit.it
              link
              fedilink
              arrow-up
              2
              ·
              1 day ago

              I will fight for it. It’s like the GNOME of programming languages.

              For some reason this brings the image of dwarf tossing to mind…

            • GeirGrusom@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              1 day ago

              Yeah, the fact that so much of the language is conventions as well doesn’t help. The type hinting is fairly poor as well, but then again type hinting is basically admitting that dynamic typing is a mistake (which it is).

      • grue@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        2 days ago

        Python environment/packaging sucks, but at least the language itself doesn’t.

        • MangoCats@feddit.it
          link
          fedilink
          arrow-up
          6
          ·
          1 day ago

          I learned basic programming in BASIC in the 80s. Back then when you needed more speed, you grafted in assembly calls, and the speed difference was dramatic.

          Straight Python feels as slow as BASIC - it’s got nifty speedy library calls to stuff written in other languages, but if you need something that’s not available in a library, now you’re writing a library function for Python, in another language, and why not just write the whole thing in that other language and ditch the heavy toolchain?

        • esc@piefed.social
          link
          fedilink
          English
          arrow-up
          9
          ·
          2 days ago

          It’s fine actually, all of the problemswith python packaging and env are overblown to insane degree.

            • esc@piefed.social
              link
              fedilink
              English
              arrow-up
              5
              ·
              edit-2
              2 days ago

              Yep, they are.

              Just recently there was an article here, where a person claimed that recommended python tooling is inadequate because they needes to read two paragraphs of documentation. Endemic problem really.

          • grue@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            edit-2
            2 days ago

            I used to work at a place that used Jython (which never got updated to Python 3, BTW) and was responsible for trying to keep that shit working even as various libraries started dropping Python 2 support.

            I still get a thousand-yard stare when I think about it.

            (Still worth it vs. writing actual Java code, though.)