On Wed, Feb 29, 2012 at 1:21 PM, Julien Puydt <julien.pu...@laposte.net> wrote: > Le mercredi 29 février, William Stein a écrit: >> On Wed, Feb 29, 2012 at 11:25 AM, Julien Puydt >> <julien.pu...@laposte.net> wrote: >> > Le mercredi 29 février, William Stein a écrit: >> >> Licenses aren't the issue. We can't include a Haskell program in >> >> Sage without including the Haskell compiler (buildable from >> >> source) in Sage. And there's no way we're doing that. We already >> >> have to deal with too many different programming languages, Sage >> >> is already too big, it already takes too long to build, etc. >> > >> > What about fixing those issues? >> >> The issues I listed are: >> >> 1. Too many different programming languages -- (at least) Fortran, >> C/C++, Python, Java, Lisp: >> >> How do you suggest "fixing" this? > > That one can't be fixed since features depend on it... don't fix the > features! ;-) > >> 2. Sage is too big: >> >> I posted a message about this a few days ago, pointing out, e.g., that >> the jsmath image fonts are buried in the moinmoin wiki package. >> Doing an audit of wasted space like this would be useful. Switching >> to using setuptools instead of distutils and using "python setup.py >> develop" instead of "python setup.py install" -- hence getting rid of >> devel/sage/build -- would save some additional space and avoid a >> constant source of confusion. > > Sage is too big because it wants to embed everything. It shouldn't. > > And before you jump at the idea : no, I'm not proposing sage to have > more mandatory dependencies. I'm proposing that it could optionally not > build something if it is already there. > > My system already has quite a few things sage wants. You might have > the impression that it doesn't lead to something smaller, since the > packages are still installed anyway ; but they are shared, and that's > where the gain is. One python installation. One gfortran. One bzip2. > Et caetera.
Even if Sage didn't include Python (say), we would still have to worry about it as a dependency, and "big" would be replaced by "sage has too many dependencies". We would have to workaround Python bugs, worry about the exact version of Python that is installed, etc., etc.. I'm certain things would only be more complicated, not less -- see any of the video editing programs for Linux for examples of this "dependency hell" in practice. If you think otherwise, make your own version of Sage that doesn't include Python, bzip2, gfortran, etc., and see how it goes. >> 3. Sage takes too long to build: >> >> A lot of excellent work has been done in this direction in the last >> year, e.g., the support for building in parallel has improved a huge >> amount, as has support for building ATLAS. > > If it only built what it *needs to build*, not what it *needs*, then > there would be a gain too. Let me stress again : I have some of the > things it needs already, so it could just use it. See above. > Two last remarks : > > (1) when you want to apply a theorem, do you just check for the > hypotheses then go on, or do you re-do the proof down from the axioms? Neither. This is a false analogy. Sage doesn't do anything like the analogue of redoing proofs "down from the axioms". -- William -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org