Honestly I don't hate the language itself that much (I'm just learning it though so who knows) but developing with it fucking sucks. First npm installs a thousand dependencies, then you have to use it to install an entirely different package manager (yarn) and hope it works.

If you're using npm, you install a package or two that you're working with and get 10+ vulnerabilities. It tells you to run "npm audit fix" so you do it, but it just lists the vulnerabilities again and tells you to run "npm audit fix", so apparently you're just stuck with those.

Then you try running your react app and it crashes with an error about failing to stat a random file in your home directory. It turns out that you mistyped an import, and instead of giving an error about that it recursively backs up and checks every single file to see if it's the one it's looking for. Cool.

  • SolidaritySplodarity [they/them]
    ·
    3 years ago

    Cargo is the very best imo. Painless experience, batteries included for everything.

    poetry is the best thing to happen to Python since list comprehensions.

    imo npm assumes that its package developers don't know what they're doing and they'd usually be correct in this.

    My experience with bundler has been mixed because I have ran into pulled package version issues crazy often. Maybe I'm just unlucky. Not really bundler's fault unless this is a systemic issue among Ruby packages.

    Go's Dev team is insufferable and this is why they simply didn't have a package manager, not really. And now that they're starting to build the features of one, it's all about how dependencies breaking is good because it puts pressure on upstream to fix them.

    Maven works when it works and does nothing for you when something breaks. It's up to you, Java dev, to go resolve incompatible dependencies manually.

    • crime [she/her, any]
      ·
      3 years ago

      My experience with bundler has been mixed because I have ran into pulled package version issues crazy often. Maybe I’m just unlucky. Not really bundler’s fault unless this is a systemic issue among Ruby packages.

      Huh, Ruby's my day-to-day and I haven't run into that much in years. Maybe just bad luck for you then, or things have improved substantially with the ecosystem recently

      And yeah poetry has been head and shoulders above any other python package management, especially since it's for venv-management rolled in. There's a couple crucial missing features still, especially around authenticating to private registries, but I think that's a pip problem at its core — mostly it suffers from having to use pip under the hood.

      Lmao about the Go devs, you're absolutely right on the money with that one

    • ComradeBongwater [he/him]
      ·
      3 years ago

      Cargo has been the best in my experience too...about as painless as deps can be imo.

      If what you say about poetry is true, I'll definitely have to look into it asap.

      Never used bundler or Ruby, and I've never been sure about what the appeal of Ruby is, so if dependency management is more painless than most languages, I'd understand immediately.

      I've never had a more frustrating dependency experience than with maven. Using XML and being tied to Java are more than enough to guarantee I never touch it again unless absolutely necessary.