←back to thread

A critique of package managers

(www.gingerbill.org)
109 points gingerBill | 5 comments | | HN request time: 0s | source
Show context
izzylan ◴[] No.45174868[source]
I don't see the value in making it even harder to build software. I want to make things. Downloading a dependency manually and then cursing at the compiler because "it's right there! why won't it load!!" is just gonna make me want to build software less.

Anyone I want to work with on a project is going to have to have the same frustration and want to work on the project less. Only even more because you see they downloaded version 2.7.3-2 but the version I use is 2.7.3-1.

replies(2): >>45175555 #>>45176326 #
dismalaf ◴[] No.45175555[source]
> Downloading a dependency manually and then cursing at the compiler because "it's right there! why won't it load!!"

Odin's compiler knows what a package is and will compile it into your program automatically.

replies(1): >>45177789 #
lifthrasiir ◴[] No.45177789[source]
Isn't that a (built-in) package manager if it works for general packages? Or does it work only for selected dependencies?
replies(2): >>45178616 #>>45178701 #
1. Ygg2 ◴[] No.45178616[source]
From what I've seen. The Odin has three package collections: `base`, `core` and `vendor`.

`base` is intrinsically necessary to port Odin. `core` seems to be its standard library, your `libc`, `xml`, etc.

And `vendor` is everything else. So you basically get the Python's '`core` is where packages go to die' approach iff they take backwards compatibility seriously. Otherwise, they have breaking changes mid-language version change.

EDIT: Package collections not packages per gingerBill.

replies(2): >>45178806 #>>45178851 #
2. lifthrasiir ◴[] No.45178806[source]
So they are trying the Linux distribution model of packages, right? (Compare `vendor` with, say, Ubuntu's `universe`.)
3. gingerBill ◴[] No.45178851[source]
Those are library/package collections which contain multiple different packages, not the packages themselves.

And we will take backwards compatibility seriously when we hit 1.0, and only "break" on major versions.

replies(1): >>45179185 #
4. Ygg2 ◴[] No.45179185[source]
> And we will take backwards compatibility seriously when we hit 1.0, and only "break" on major versions.

I'm talking about post 1.0 language choices:

- Choose backwards compatibility. Packages frozen in time, you get "Packages go to std to die." - Choose to break backwards compatibility. The ecosystem is split, some choose to go Odin 2 some are Odin 3.

replies(1): >>45180503 #
5. gingerBill ◴[] No.45180503{3}[source]
I already know all that, that's why we are being very conservative and slow when it comes to figuring out what is meant to be in 1.0.