On Sat, Jul 21, 2012 at 3:21 PM, Dr. David Kirkby
<[email protected]> wrote:
> If I want to install Mathematica on Linux, one just buys a copy (ok, "just"
> might mean take out a big loan), then install it. There is not a binary for
> Ubuntu, another binary for Debian etc. It is supported on
>
> Ubuntu
> Redhat
> CentOS (basically redhat)
> Debian
> openSUSE
>
> with a note that "Mathematica 8 has been fully tested on the Linux
> distributions listed above. On new Linux distributions, additional
> compatibility libraries may need to be installed. It is likely that
> Mathematica will run successfully on other distributions based on the Linux
> kernel 2.6 or later."
>
> If we could find a way of building a binary distribution which worked on
> many systems that would be preferable I think. At the moment, people
> installing the wrong one is not unusual.
>
>
> I wonder if WRI use some sort of intelligent installation, which detects the
> system and installs the right parts for that. I know at one time they used
> to bundle both the SPARC and x86 versions for Solaris in the one file, and
> IIRC, going back many years, they used to bundle AIX, HP-UX, SGI, Solaris
> and whatever else on a single CD.

The remarks you make above are also definitely true with Magma as
well.  There is one enormous difference between Sage and
Mathematica/Magma, which is that the architecture of Sage is
significantly more complicated (some might say "bloated") than that of
Mathematica or Magma.  Sage is much more like a Linux distribution
(with many different programs written by different groups being
orchestrated together to get work done) than a single unified program
written by one group.   For example, Magma is a few million lines of C
code plus a few hundred thousand lines of code written in the Magma
language (and Mathematica is probably similar).  With Magma, they
simply statically link all that C code (and most of its dependencies)
into one single monolithic binary that has almost no dependencies
(except the C library version).  This makes distribution very easy.
Such an approach with Sage is completely impossible at this point.
When you run Magma (or Mathematica), you run a single program (plus
with Mathematica a GUI).  When you run Sage, you could -- all in a
single command line session -- easily launch dozens of separate
executables, build some shared object libraries from source, link them
in at runtime, etc.

In short, Sage is vastly more complicated in its design than
Mathematica.   This was the approach I took in order to leverage the
wealth of existing open source software to build a powerful system.
It has its pros and cons.

Generally speaking, in most software I choose, I go for lightweight
clean non-bloated slick programs.  For example, I prefer nginx to
apache for serving static webpages.   However, Sage targets a problem
domain where the main requirement is an enormous feature set, and
lightweight non-bloated slick programs just can't address that
requirement.   Sage (and Magma, Mathematica, etc.) is a sort of
"expert system" that is precisely modeling a huge number of ideas
(theorems, algorithms, conjectures, etc.) from mathematics, and there
is no magic shortcut to building such a system that is widely useful.

 -- William

-- 
-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org



Reply via email to