Which language futures make D overcompicated?

Nick Sabalausky (Abscissa) SeeWebsiteToContactMe at semitwist.com
Mon Feb 12 01:30:19 UTC 2018


On 02/11/2018 01:54 AM, Pjotr Prins wrote:
> Dub is getting some flak here. This is unsurprising because it is really 
> hard to write a good package manager and build system. I use a lot of 
> languages and not one has a satisfactory package manager. Mostly they 
> try to do too much and get in the way or they do too little and people 
> complain (I prefer the second option). And when there are 100+ 
> dependencies, like with Go and Node, it just becomes impossible to say 
> anything about the state of the system (security, anyone?).
> 
> Package management is mostly dependency management. This I handle with 
> GNU Guix (and Nix) package managers. They are great at that.

Ugh, system-level package managers. That's the #1 reason I keep hopping 
around distros, never finding one I like:

They're all completely fucking non-standard. Every fucking distro has 
it's own damn package manager (and then there's mac and win and the 
mobiles), and on top of that, most of those system managers are almost 
completely worthless *when* you need something other then "the latest 
version" let alone multiple versions (because "newer is always better" 
is software's #1 sacred cow). Those are *exactly* the reasons why 
programming langauges have NEEDED to start rolling their own damn 
package managers, because relying on the goddamn system managers for 
libs is a complete fucking non-starter.

(Hmm, Can you tell I'm not happy with system package managers? ;) )

The langauge-based package managers just simply need to keep 
"buildsystem" OUT of the package manager's scope. That's all. THAT is 
why system-level packages can be built with whatever tool: because the 
one thing the system package managers actually do get right is NOT 
rolling their own mandatory buildsystem.

One of the things on my master list of "project's I'll probably never 
get around to" is a CLI front-end to unify all this fractured 
apt/pacman/yum crap.

> This also 
> leaves people to choose any old build system. Inside GNU Guix the build 
> system is consistent, which is really nice. I'll write a blog some time 
> this year.
> 
> What you really want is to be able to discover packages (i.e., a website 
> such as Dub provides), pull them into your tree (which is just a path 
> and can be handled by git submodules, though I don't like those much 
> either),

Agreed.

> and when you distribute: add them to Guix or Nix and provide 
> those packages with build system and as binary deployments to others. 

And fracture the hell out of your user-base, forcing even Linux alone to 
be treated as 100 different fucking incompatable operating systems for 
which each package only supports one or two? Ugh, god no. Spare me. Even 
dub, for all it's shortcomings at LEAST has absolutely no trouble 
treating nearly all of Linux as ONE unified target.


More information about the Digitalmars-d mailing list