• MangoCats@feddit.it
      link
      fedilink
      arrow-up
      24
      arrow-down
      2
      ·
      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
        arrow-down
        8
        ·
        edit-2
        1 day 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
              arrow-down
              2
              ·
              1 day 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
                  ·
                  3 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
          ·
          1 day 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
            arrow-down
            1
            ·
            18 hours 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
              ·
              18 hours 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
                ·
                16 hours 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
                ·
                18 hours 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).

        • Joe@discuss.tchncs.de
          link
          fedilink
          arrow-up
          9
          arrow-down
          1
          ·
          1 day ago

          Python is great for standalone scripts/CLIs with standard system dependencies. For actual apps you want venvs, probably managed by uv these days.

          I’ve written 1000s of python CLIs/scripts over the years, typically wrapping APIs for otherwise shitty enterprise and SaaS software (also many one-off scripts for ETL).

          Nowadays, AI writes these scripts in a fraction of the time (and reads the shitty API docs / otherwise figures it out) and my CLI toolkit is better than ever (with $0 ongoing cost). Calling MCPs from CLIs is also interesting, as some vendors never had usable APIs before now.

        • grue@lemmy.world
          link
          fedilink
          arrow-up
          8
          arrow-down
          1
          ·
          1 day 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
            arrow-down
            2
            ·
            1 day 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
                arrow-down
                1
                ·
                1 day 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
              6
              ·
              edit-2
              1 day 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.)