@ignaloidas@wolf480pl@amonakov Your points were that distro package managers are so bad that it is a pain to use a package and that even adding a linked list is difficult. Before going on, let's first agree that both the points are plainly wrong. The reason C projects have their own linked list is that the long-term maintenance cost of adding a library just for this is usually not considered worth it relative to writing something as trivial as a linked list.
@wolf480pl@ignaloidas@amonakov BTW: I just tried this with glib-2.0. Installing the dev package, adding the config via pkg-config, and using a linked list from that library did take me 30s. The idea that C devs code their linked list because it takes 100h to pull a library is just an absurd idea.
@ignaloidas@wolf480pl@amonakov I write C code every day. The "barrier" to adding a library via a package manager is very small. There are plenty of libraries in any Linux distribution offering data structures. I do not really see a problem here. The cost of adding libraries is higher, but not only in C, but in every language. It takes me maybe 30 second to add a library.
@ignaloidas@wolf480pl@amonakov It also not really true that package managers are build for managing C dependencies. They try to manage all kinds of software dependencies. It somewhat works for C but fails miserable for other languages.This is why - in addition to my system python packages - I have five "environments" lying around, all incompatible, all a security risk, ...
@ignaloidas@wolf480pl@amonakov Distro package managers were not build for C. I am ok with using libraries and my experience with other languages is not good. But I am also rarely want to use random library X from the internet. But in this case, vendoring it is not worse than what others do. I agree it is much more limited and convenient as there is no widely established automatic way to pull in countless other dependencies in this way. I still tend to believe that this is a good thing.
@ignaloidas@wolf480pl@amonakov I am not sure "experience" is the right thing to optimize for and I think the amount of code reuse in C projects is usually fine. I think most other frameworks overdo it. This may be convenient, but leads to fragility and security issues.
@ignaloidas@wolf480pl@amonakov Sure! The whole mess of most coffee places selling bad coffee is just because ISO C does not standardize good coffee. It is all C's fault!
@ignaloidas@wolf480pl@amonakov I wonder what I should think of "C is shit at managing dependencies". C does not manage dependencies. I also happen to think that it is not at all its business to manage dependencies. But somehow the idea came up in recent years that programming languages should become frameworks doing everything....
@thesamesam I think we need to more aggressively push back against unmaintained code. Either the distribution maintainer has to take over and to minimal maintenance or it should be removed.