If I understand you correctly, you want to set the goal for Sage much
higher than just a free, open alternative to the Ma*s.

- Robert

Yes, but why am I trying to do that?

Computation mathematics is a new field of study, at least in the symbolic area. It is the child of the union of mathematics and computers. Unlike other forms
of software, computational mathematics software (CMS) has the property that
it will always be able to give timeless answers, making it useful forever.

Being useful forever does not imply that the software survives forever.
You can argue that this is good darwinian attrition. But CMS software is
very hard to build and requires a great deal of very scarce expertise that
can disappear at any time (e.g. changing jobs, being hired into a company
like MapleSoft/Wolfram/Magma/etc., companies being bought or closed)
When that happens, and it will, then that portion of the software becomes
unmaintainable or unavailable.

The natural response to dead software is to write new software. You can
see this in CMS-land as there are over one hundred attempts at building
CAS programs (I collected them at one point, similar to the Sage goal).
But due to the expertise issue these programs don't get very far. Sage wants
to rewrite the Trager/Bronstein integration but that seems unlikely as the
required expertise (Bronstein) is dead and the code isn't documented (yet).

Sage is trying to avoid the darwin problem by gluing together existing systems.
This is a very clever idea, a "second generation" response.

What I am trying to do is ask the question...
"What does a computational mathematics system need to do to live forever?"
in particular, in this forum,
"What does Sage need to do to live forever?"

Sage is exciting, fast moving, has no time to do it right, would die of
documentation ossification, couldn't possibly prove anything (as if proofs
are foreign to mathematics), needs to be released twice a day, is in a
foot-race with the 4Ms for mind-share, needs quantity not quality, will
let the next-generation-slubs document their work, is 3ns faster than M*, etc.

I am one of the first generation dinosaurs trying to impart some of the lessons learned to the next generation. I am taking the long view, trying to figure out
how to impart computational mathematics to my grandchildren. Will they still
be writing new polynomial packages and arguing over ZZ? Will they have to
watch yet another hundred threads discussion the same issues? Will they suggest that William Stein should move his comments to the flame thread? Or will they have
a broad legacy of excellent CMS work upon which to build?

My experience tells me that William will move on, python will move on, the
funding will dry up, the students will be hired into real jobs and Sage will die
of code rot as GCC/python/architecture/build-complexity/etc all work away
at its foundations. The system will devolve into tracking down hard bugs in
"other peoples code", people will find that hard without documentation
and not worth doing because it isn't flashy. Suppose William had instead
proposed that "Sage was a project to find and fix all the bugs in Maxima".
How many people would join? Now imagine Barry Brightspot proposing
"a project to find and fix all the bugs in Sage"....

To those who work on Sage... Why? Do you just want to build yet-another-CAS?
Do you just want a platform for your thesis work? Do you just want to
write code that gets thrown away? Or would you rather have your name
appear in the credits list of Sage-2090 as one of the Newtons of
computational mathematics?

I am advocating that Sage set its goals much higher than replacing the Ms.
If you don't, then my experience tells me that the project will die. If you do
then the project may die anyway but other people can build on the remains
rather than from scratch. Or you just might have a formula for the long-term.

What do *you* think needs to be done to make Sage live forever?
I have thought about this question for a long time and I'm trying to pass it on. Your experience may tell you that my suggestions are wrong but you'll only be
able to know after the fact and by then it will be too late.

Anyway, I've said about all I want to say so I'm abandoning this topic.
Good luck and thanks for all the fish.

Tim Daly



--
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

Reply via email to