• ripcord@lemmy.world
      link
      fedilink
      arrow-up
      12
      ·
      19 hours ago

      Depending on your use case, it can be fantastic.

      There’s good reasons why it is the world’s most popular programming language (by a wide margin).

      You are not, generally, going to be using it to write kernels or device drivers, though.

    • Iced Raktajino@startrek.website
      link
      fedilink
      arrow-up
      5
      ·
      19 hours ago

      For me, it’s the rigid and wonky virtual environments. I get why they’re useful and necessary, but they’re awkward to use. Like, Node just works from the working directory with no fuss and python has to be all source {venv}/bin/activate and lord help you if you need to move it.

      Plus, I have never liked that the spacing is load-bearing.

      • Eager Eagle@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        17 hours ago

        uv mostly gets rid of the “venv activation” thing (mostly bc you can still use it if you really want, but you don’t need to), you can do uv run main.py and it’ll just work, no need to even install packages explicitly, it’ll also do that for you and make sure your uv.lock is in sync with your environment.

        it’s the most hassle-free experience I’ve had with python, by a long shot.

        • Iced Raktajino@startrek.website
          link
          fedilink
          arrow-up
          3
          ·
          16 hours ago

          Sounds like at least a minor improvement. Can those me moved and still work? Like, if I move the project folder, do I have to reinitialize it and download all the packages again?

          • Eager Eagle@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            16 hours ago

            ah, it’s a massive improvement. Everything is in your project dir, so you can move it around. But uv is the fastest package manager, so reinstalling most things doesn’t take time; with the exception of dependencies that need to compile code in different langs.

    • Contramuffin@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      19 hours ago

      Python is extremely high level and slow. Great for scripting and prototyping but you really shouldn’t build any infrastructure off of it.

      It also has dynamic variable typing, which depending on your use case (see above), can either be nice or a headache