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.

  • blobjim [he/him]
    ·
    3 years ago

    Java package management doesn't feel too bad using gradle with Maven projects? It could be better, and there's dependency version issues and stuff, but I assume that's always the case?

          • blobjim [he/him]
            ·
            edit-2
            3 years ago

            Building libraries from source is usually not too difficult in C on Linux. And you can just use the -I switch to add headers to the #include <> directive. I don't think you're supposed to just install "-devel" packages. In terms of Windows... Microsoft definitely doesn't want people to write software for Windows.

        • eduardog3000 [he/him]
          ·
          3 years ago

          Which makes getting into C hard as fuck. Or even just running something someone else made in C.

      • SolidaritySplodarity [they/them]
        ·
        3 years ago

        C doesn't come with a package manager but there are hundreds of C package managers, often specific to a single target device.

    • SolidaritySplodarity [they/them]
      ·
      3 years ago

      Maven has to solve the same problem as npm when it comes to resolving subdependencies (all package managers do). mom resolves the problem by creating deeply nested node_modules trees, allowing packages to have isolated deps. Maven installs one version and might give you a warning and things might break and it's not clear why.