> -----Original Message-----
> From: maxima-bounces at math.utexas.edu
> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of Michael Abshoff
....
> So if you pick
> Maxima/Axiom/XCAS
> and Octave and argue that Sage is trying to reimplement their
> functionality in Python (you standing on the toes of giants comment)
> you need to take a close look and understand that we do not do that,
> i.e. much of the Matlab functionality is provided by
> numpy/scipy which
> is a project on its own that provides interfaces to many if
> not all of
> the numerical libraries that Matlab provides.
You seem to be missing my point. William Stein's mission statement says
that Sage will provide an Alternative for Mathematica, (as well as other
programs)
You now seem to say that Sage will do this by lashing together numpy/scipy,
Maxima, etc.
Anyone with any knowledge of computer algebra systems will realize that this
is not
going to happen by lashing together the existing freeware. So you will have
to program
something else.
I doubt that a volunteer, programming in python, is going to reproduce the
definite integration facility
in Mathematica in a summer.
> Guess what: number theory is incredible demanding on linear algebra,
> polynomial arithmetic and many more basic building blocks of
> a CAS. So a
> CAS well suited for number theory is likely to be well suited
> for many
> other applications.
I think that you are trivializing the task of building a CAS. Certainly
there are many basic building blocks that are necessary for a CAS like
Mathematica, Maple, Maxima, ... and some of them are also necessary for
number theory. That does not suggest to me that the right way to design or
build a CAS is to first build a system aimed at problems in number theory.
Indeed, it might be counterproductive to spend your time this way, because a
system for number theory may aim for a "sweet spot" in algorithms for
arithmetic that is way way off the tail of the curve of likely sizes of
numbers in calculations in a typical applied math calculation. After all,
many people find floating point double precision to be sufficient!
Of course if someone else has provided a package to compute with huge
numbers that does not unduly penalize smallish numbers, that could be useful
for a CAS.
> Well, I have the feeling you don't get it and you never will. Lisp is
> not the center of the computer science world, it never has
> been in the
> past despite what the lisp crowd believed in and it certainly seems
> rather unlikely it will make a huge comeback to become more
> main stream
> again. And despite your cheerleading and looking at the
> world via lisp
> colored glasses you ought to check out what the kids are doing these
> days. You do remind me a lot of some old man sitting on the porch
> telling the kids to get of his lawn.
The kids are writing in PHP, Ruby on Rails, and playing with their
playstations and WIIs.
Python may survive, or maybe something else will displace it. You don't hear
much about Pascal these days.
But that is beside the point, I think.
It seems to be your insistence that the solution to problems of systems
building is in the selection of the language.
If you want to work on computer algebra systems, python apparently has
disadvantages relative to a good implementation of lisp, or even C++.
If this is not obvious to you, it seems to be obvious to people who wrote
several CAS.
On the other hand, if you want to work on lashing together existing programs
in a manner than works about the same on a variety of different systems, and
you don't care much about those disadvantages, the Sage approach may be
appealing.
>
> You have written many papers about CAS systems and you can conjecture
> all you want for what I care, but I cannot escape the thought
> that you
> are very much in the position of Tannenbaum arguing with Linus that
> Microkernels are the future. I am sure you know how that discussion
> turned out
I never followed this stuff. You confuse an interest in computer algebra
systems and algorithms with an interest in operating system strategies. I
let other people worry about that, and write algorithms. Occasionally I
worry about how parallelism can be expressed effectively, which is related
to operating systems, but I try to let other people solve those problems.
...
Of course there is no assurance that being technically "right" will win the
argument.
Perhaps VHS vs. Betamax illustrates that better than Microkernels etc.