Live data from Hacker News

A critique of package managers

gingerbill.org

91–100 of 220 posts

Re: A critique of package managers

#91

I see this a lot with Rust where I will depend on one or two external crates for a simple application and then I am shocked to see dozens of dependencies being pulled in when I go to build. I actually think Cargo's support for feature gates and conditional compilation could in theory be a strong mitigation against this as crates can avoid pulling in dependencies unless you actually need a feature that relies on them,…

> If Rust didn't have Cargo to automate dependency hell, someone would create a third party script to fill the gap. Possibly but not guaranteed. Some other languages without a built in package manager haven't had an external one manage to take over the ecosystem, most (in)famously C and C++, while others have.

Most language users will follow the "spirit" of the language - e.g. Bill is against package managers, people who use his language mostly agree with his ideas, and there's not a huge standard Odin package manager.

I rather appreciate that C and C++ don't have a default package manager that took over - yes, integrating libraries is a bit more difficult, but we also have a lot of small, self-contained libraries that just "do the thing" without pulling in a library that does colored text for logging, which pulls in tokio, which pulls in mio, which pulls in wasi, which pulls in serde, which is insane.

Re: A critique of package managers

#92
post #3

Earlier quoted context omitted.

There already is a (partial) solution to dependency hell: Nix. It will at least massively help prevent things from breaking unexpectedly. It won't prevent you from having to cascade a necessary upgrade (such as a security fix) across the entire project until resolution/new equilibrium is achieved. My solution to the latter is simply to try to depend on as few things as possible. But eventually, the cancer will overta…

Nix isn't a solution to the problem of package managers. It just a better way to package management system, which thus makes it easier to go to dependency hell. So I'd argue it puts fuel on the flames. The solution is just to depend on less and manage them manually.

If we depend on less then we are capping what we can build to only what we can write and manually integrate. This is dis-empowering.

Re: A critique of package managers

#93
post #90

Earlier quoted context omitted.

I have? Pray tell.

Have what? Heavily invested in language you're building? I think that's a given. Not clear-headed about this? https://old.reddit.com/r/programming/comments/1nbkwzt/packag... > gingerbill[S] 1 point 2 hours ago > So a tool that enables evil is not an evil tool? See counterpoint: hammers, freezers, cars, arrows, guns, bombs, planes, etc. Each of them *can* enable evil. Same way a package manager *can* enable sprawling…

You see you just completely missed my replies to that too.

> Let's put it this way, what does a package manager specifically (not the other distinctions I make in the article) do (other than enable bad laziness and lack of proper vetting) that is actually good?

https://old.reddit.com/r/programming/comments/1nbkwzt/packag...

Re: A critique of package managers

#94

Earlier quoted context omitted.

Nix isn't a solution to the problem of package managers. It just a better way to package management system, which thus makes it easier to go to dependency hell. So I'd argue it puts fuel on the flames. The solution is just to depend on less and manage them manually.

If we depend on less then we are capping what we can build to only what we can write and manually integrate. This is dis-empowering.

I'd argue quite the opposite. You can build a lot more than you think, you just need to be encouraged.

Re: A critique of package managers

#95
post #87

Earlier quoted context omitted.

Is it "quite successful"? How would I distinguish such a "quite successful" language from say Hare or V or are these all "successful" in your mind?

Why the need for distinguishing and an urge for comparison? We're talking about Odin, that's it. As a project that (as I understand) didn't have any big corp investment, it's impressive.

The claim was that we should assume Odin's author is experienced because he wrote a successful language. If we've decided it doesn't matter whether it's successful then the claim was entirely circular. Yes, the creator of Odin is indeed its creator. Nobody was disputing that.

Re: A critique of package managers

#96
post #88
post #86

Earlier quoted context omitted.

Yeah when speaking about emotions: the amount of emo reactions here, including shouting with all caps, lets me think we've fallen into the old story: the author kind-of praised Go, but it's unfashionable here; the contrary, the fad here is to hate Go, so the author needed to get his hate. As simple as that. The rest is just trying to hide the hate under seemingly rational arguments. Yawn.. saw it before...next, pleas…

Yeah, god forbid you use bolding to emphasize your phrase on this site. It's considered emotinal response, but yours is purely logical? I'm glad you saw through me like a Superman through a lead book. Which is to say, not at all. I wasn't even thinking of Go. Where did this come from? I never mentioned Go. I don't use it or know how it does its packaging. Are you projecting your feelings onto me as a sort of substitu…

You did not had Go in mind, but the [original commenter](https://news.ycombinator.com/item?id=45167394#45168550) apparently did as he has quoted exactly the line about Go. Then you (and me) commented under that comment.

So my snarky remark was about him, not about you. I think it's ok to rewind the tree up to see what is about whom. I can sincerely apologize that I have put replies to two distinct human beings, you and that other commenter, in one paragraph. Honestly, I can see that could let to confusion.

I think we can stop now..

Re: A critique of package managers

#97

Earlier quoted context omitted.

Is it "quite successful"? How would I distinguish such a "quite successful" language from say Hare or V or are these all "successful" in your mind?

I know very few people using Hare, especially since it only works on "FOSS platforms". And I will still maintain that V is vapourware. They still have the same false claims on the website that they've had from the beginning for ~6 years. Odin is "successful enough" so far. Also, you know about it, so that says something.

I know about Hare and V too, so, then what exactly does it say for me to know about a programming language? Not much.

I have technically written more Odin than Hare (one Godbolt example, arguably two if you count my explaining how to modify the example to illustrate another problem) but that just means I have more justification to say I don't like it.

I've written a lot more Scheme and I had so thoroughly forgotten writing Scheme that I had to go read the source for myself when I got email about it decades later to be sure it wasn't just a coincidence of author names.

I'm not convinced there is space for any of the "C successor" languages in the twenty-first century and in the event space is made or given for one I doubt there'll somehow be room for more. So with today's field I would bet on Zig.

Re: A critique of package managers

#98

Earlier quoted context omitted.

You keep confirming that you don't know what you are talking about. The vendoring step happens at something like Yocto or equivalent and that's what ends up being certified, not random library repos.

"Vendoring step" You cannot make this shit up. You're providing a library. That library has dependencies (although it shouldn't). You've written that library to work against a specific version of those dependencies. Vendoring these dependencies means shipping them with your library, and not relying on your user, or even worse, their package manager to provide said dependencies. I don't know what industry you work in,…

> I don't know what industry you work in

I dabbled my fingers in enough of them to tame my hubris a bit and learn that various fields have specific needs that end up represented in their processes (and this includes gamedev as well). Highly recommended before commenting any further.

Re: A critique of package managers

#99
post #90

Earlier quoted context omitted.

Have what? Heavily invested in language you're building? I think that's a given. Not clear-headed about this? https://old.reddit.com/r/programming/comments/1nbkwzt/packag... > gingerbill[S] 1 point 2 hours ago > So a tool that enables evil is not an evil tool? See counterpoint: hammers, freezers, cars, arrows, guns, bombs, planes, etc. Each of them *can* enable evil. Same way a package manager *can* enable sprawling…

You see you just completely missed my replies to that too. > Let's put it this way, what does a package manager specifically (not the other distinctions I make in the article) do (other than enable bad laziness and lack of proper vetting) that is actually good? https://old.reddit.com/r/programming/comments/1nbkwzt/packag...

And you missed the retort to that reply as well. It's a force multiplier and a time saver. Same as with any tool.

And to reply to your next post:

     > Getting to hell quicker is not a good thing. "Emerge on the other side quickly", the other side is still hell, you haven't emerged out of it.
Remaining stuck in limbo forever is worse than going to hell faster :) At least in hell you have a decent company.

I'd rather use a hammer even if there is a higher chance to smack my fingers than to have to hit a nail repeatedely with my head.

Re: A critique of package managers

#100

Earlier quoted context omitted.

I know very few people using Hare, especially since it only works on "FOSS platforms". And I will still maintain that V is vapourware. They still have the same false claims on the website that they've had from the beginning for ~6 years. Odin is "successful enough" so far. Also, you know about it, so that says something.

I know about Hare and V too, so, then what exactly does it say for me to know about a programming language? Not much. I have technically written more Odin than Hare (one Godbolt example, arguably two if you count my explaining how to modify the example to illustrate another problem) but that just means I have more justification to say I don't like it. I've written a lot more Scheme and I had so thoroughly forgotten w…

Odin is not trying to be a "C successor" rather as the website states: "Odin is the C alternative for the Joy of Programming".

And there doesn't have to be "one winner". This isn't Highlander. It is just wonderful that there is now choice in this domain beyond just the old and obvious.

Post reply on HN