On 03/10/2016 11:19 AM, Jeroen Demeyer wrote:
> 
> Never having used conda, some quick questions in case you know the answer:
> 1) Does conda support the same operating systems as Sage?
> 2) Does conda deal with non-Python packages too?
> 3) Does conda support building packages in parallel?
> 
> Do you consider conda superior than the Sage package system? Do you know
> of problems that conda has but Sage doesn't?
> 

Someone recently pointed me at Conda thanks to an article I wrote. I
researched it for a few hours so that I could compare it to Gentoo
prefix (for the guy who pointed it out to me).

  1. Conda itself is cross-platform, but some packages don't support
     some platforms. No difference there.

  2. Conda can handle packages written in any language. For binaries,
     that's easy -- they just give you a binary and you run it. The
     story for source packages is a little more dubious.

  3. The build scripts for source installs are *very* rudimentary, so
     you can make individual packages build in parallel, but as far as
     I know it can't build two different packages simultaneously.

There are four main reasons a "package manager" will fail:

  a. It doesn't support building from source.

  b. It bundles all of its dependencies.

  c. It only works with one language.

  d. It's tied to one platform.

Conda more or less passes all four, and there are only two other systems
(Nix and Gentoo prefix) that do. Its main issue is that all of the build
scripts are incredibly naive. For example, the source-based install
routing for PostgreSQL is,

https://github.com/conda/conda-recipes/blob/master/postgresql-9.3/build.sh

It also has few packages compared to Nix or Gentoo. Building packages
from source is complicated, and there are a ton of corner cases and
weird features that you need to support. It also quickly becomes
necessary to have some way of sharing code.

A lot of very smart people have put a lot of time into thinking about
these things and https://dev.gentoo.org/~ulm/pms/head/pms.html is the
result. If you try to start a new source-based package manager, you're
only going to be making mistakes that somebody else already made ten
years ago.

So the tl;dr is, Conda looks promising because they haven't made any of
the stupid mistakes (a) - (d) that immediately doom a package manager.
But they're still 15 years behind. Why start over?

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to