• BartyDeCanter@lemmy.sdf.org
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    5 hours ago

    I have been using Python as my second language alongside whatever system language I was using professionally as well as for a variety of personal projects for about 20 years. I’m quite fond of the language for the sorts of things I use it for, which is either scripting glue or doing serious math because I hate dealing with Matlab licenses.

    And you are so fucking correct it isn’t even funny. Not only is the tooling a disaster, but it seems like every few years there is a new tooling scheme that doesn’t work quite right with the old one and is a disaster in its own unique way. And

    I know people get annoyed by rust evangelists, but I started using it six months ago and god damn does cargo slap. Want to initiate new project? One command gives you the complete boilerplate. Adding a new dep? One simple command. Want to pin or unpin a version? One simple command. Want to update all the deps to latest? One simple command. Want make a release package? One simple command. Want to update all your installed packages? One simple command. Want to keep every project tied to a different version? You guessed it.

    I definitely have some issues with Rust syntax, but I want cargo to manage my life.

    Really, the a Python project needs to take a look at the Zen of Python and apply it to the tooling. And then use cargo to do it.

    Edit: And, all of those simple commands work across all platforms the same. None of this, “Everything is perfectly cross platform and is the same anywhere. Unless you’re using a Mac. Or Windows. Or the wrong Linux distro.”

    Edit x2: There is, of course, an XKCD for that.

    Edit x3: And it’s not just venv. I am constantly struggling with which pip to use on which machine. Is it pip, pip3, pipx, uv pip, conda pip?

    • aliser@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      4 hours ago

      each time I start a Python project the first thing I have to deal with is making dependencies work. always some bullshit with python. might be an ide thing tho since I use IDEA.