More radical ideas about gc and reference counting

Marco Leise via Digitalmars-d digitalmars-d at puremagic.com
Sun May 11 10:59:49 PDT 2014


Am Wed, 07 May 2014 06:50:33 +0000
schrieb "Paulo Pinto" <pjmlp at progtools.org>:

> A *nix package manager is brain dead idea for software
> development as it ties the language libraries to the specific OS
> one is using.

What do you have in mind here? I don't quite get the picture.
Are you opposed to a developer writing a package only for his
pet distribution of Linux and ignoring all others?

The typical packages I know come with some configure script
and offer enough hooks to custom tailer the installation, so
the library/application can work on any distribution.
Most of the Linux software is open source and and their
packages are maintained by the community around the specific
distribution. That doesn't preclude the use of package
managers like Cabal, CPAN, Maven, you-name-it. But for a
systems language integration with the existing C/C++ is of
utmost importance. After all, D compiles to 'regular' native
binaries. Typically when an application is useful, someone
will add it to their favorite distribution as a package
including all the libraries as dependencies.

> Good luck getting packages if the author did not consider your
> OS. Specially if they are only available in binary format, as it
> is standard in the enterprise world.

Then use dub. Oh wait... the packages on code.dlang.org are
open source, too. And at least since the curl debacle we know
that there is not one binary for all *nix systems. I don't
know where you are trying to get with this argument. I think
it has nothing to do with what dub strives for and is worth a
separate topic "Binary D library distribution".

> With a language pakage manager I can produce package XPTO that
> will work on all OS, it won't conflict with the system packages,
> specially important on servers used for CI of multiple projects.
> 
> --
> Paulo

What is this XPTO that will magically work on all OS? I never
heard of it, but I'm almost certain it has to do with
languages that compile at most to machine independent byte
code.
And why do you run CI on the live system instead of a chroot
environment, if you are afraid of messing it up? :) I do trust
my package manager to correctly install libraries into a
chroot. It is as simple as prepending an environment variable
override. As a bonus you can then cleanly uninstall/update
libs in the chroot environment with all the sanity checks the
package manager may offer.
A language package manager is a good idea, but there are
certain limits for it you leave the development stage. At that
point the system package manager takes over. Both should be
considered with equal care.

-- 
Marco



More information about the Digitalmars-d mailing list