axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Failure of Axiom? (was: Static versusDynamically t


From: William Sit
Subject: Re: [Axiom-developer] Failure of Axiom? (was: Static versusDynamically typed) )
Date: Sat, 24 Sep 2005 11:19:24 -0400

Dear Martin, Bill, Bertfield and *:

Martin Rubey wrote:

> although I know that Axioms approach has *not* failed I wouldn't qualify work
> from 2001 as recent. A lot has changed since then, especially regarding MuPad.
> 

Agreed, the word "recent" was an editing omission when I gave the years instead.
But the point is that with a system as complicated and specialized as Axiom,
there are people who still find it "better" than the other systems (some perhaps
equally complicated and specialized and some not) for the same projects. So I
think for those who are (were?) willing to spent the effort in learning several
CAS (including Axiom), they found it better. Obviously, people who only casually
use any CAS may find some easier than others for the purpose they have in mind
and that is certainly enough reason for THEM to praise one and condemn others
based on that experience. But for these casual users (I count myself as only a
casual user of Axiom---a reason I only supplied quotations from others---but a
much more heavy user of Mathematica, and not even a casual user of Maple), their
comments should not be regarded as in depth reviews.

> Again, if I weren't convinced of Axiom, I wouldn't put that much of an effort
> into it. However, A LOT OF WORK HAS TO BE DONE.
> 
You are correct. I think Axiom failed commercially because not enough effort was
put into organizing its users (the Friends of Axiom club never got to a critical
mass state) and because there are only very few research mathematicians (only in
the thousands worldwide) and even fewer who use CAS as a research tool in the
1990's when Axiom become commercialized. Even now, those who use a CAS for
teaching and occasionally as a symbolic calculator for research far outnumber
those who regularly uses a CAS as research tool, which in turn far outnumber
those who develop packages for CAS.  I am not sure if it is possible to enlarge
the Axiom user base to include the first two groups. Efforts have been made by
Jenks and others to use Axiom for courses (such as linear algebra) but support
was not there. 

The Axiom community has an opportunity to have a fresh beginning. But if one
looks at the number of "bugs" in IssueTracker, it is clear that the highest
priority would be to fix these first, because these bugs are "unexpected", some
even to the developers. We are at a stage of discovering and identifying these
problems and very far from fixing most of these. Martin has put in a lot of
effort in this respect and I wish I had his skills to track the (algebra)
issues. We are also spending a lot of efforts to keep up with new upgrades in
support systems and operating systems. I think that type of effort would widen
the initial user base but need not necessarily be able to keep them for long
unless the "bugs" are fixed.

Axiom has always been a "learn on your own" system. There is only ONE book on
axiom, where as there are probably hundreds on the 3M's.  But I don't see any of
the former gurus wanting to write similar texts for the more general audience,
and the reason is a "catch 22": Axiom has never been tried in the classroom (I
could be wrong and would be very happy to hear about counterexamples). So no one
has such experience to write about, and without textbook, no one would want to
try.  (I made a few attempts to teach a course using Axiom, but it did not
materialize because of low expected enrollment: who would want to learn an
"unheard of" CAS when everyone else is using the 3M's?) It seems such a text
need only involve a rudimentary portion of Axiom commands, say, sufficient for a
calculus course (so algebra, plotting, calculus and maybe some ODEs, especially
numerical solvers).  Perhaps we can make a cooperative effort to write one
chapter each. But first, we should identify the scope of the text, carefully
choose examples, and even exercises, and organize the contents. In such a text,
we should avoid the computer jargons (such as category, domains, strong types),
perhaps only use the "Any" domain, or suppress the Type and Autoload messages as
defaults. The Wiki environment is a perfect setting for such a cooperative
effort, and thanks to the tremendous dedicated effort by Bill Page, the Axiom
community can easily use this highly interactive web interface. 

This effort can be done in parallel (if only we had enough time and manpower)
with efforts to fix the algebra bugs. Kai has done substantial work on GUI. So
by the time the new text gets published, Axiom may be in a form that is usable
in teaching.

The documentation of existing algebra library is, in some sense, of lower
priority (IMHO). By this I mean retroactively filling in the missing parts in
the pamphlet files. It may be done as bugs are fixed, but a systematic effort
would require a lot of people-years ("man-years" is probably an equivalent
term!) It is one thing to give just the syntax for "integrate" and quite another
to explain how and why the results are obtained. Mathematicians with sufficient
knowledge to do the job are top researchers who would be unlikely to spend time
on this (not to mention that there are only a handful of them). Documentation
also requires digging deep into the design philosophy at the time these packages
were developed, for which little record exists. It belongs to CAS archaeology.

New research areas are probably the easiest to develop as those developing these
presumably can "learn on their own". Surprisingly, I have developed several
packages without getting into the "bugs". Perhaps the compiler language is more
precise and the strong type enforces correct function calls (satisfying the
unstated assumptions of the calls). I recall vaguely that I did get into design
issues which could have made developing those packages easier, but there were
always ways to "get around" --- certainly I found such "tricks' very
unappealing, but most of the time, after I understood things better, it was my
lack of understanding in the first place that caused the problems. Someone like
Manuel would not have encountered these problems at all, but then, Manuel was a
full time employee on the project in those days (plus he was extremely smart and
fast). I am sure that any new comer to Axiom as a developer would have to go
through similar pains (unless (s)he is of the same calibre as Manuel). Only
those willing to take the pains get the gains.

Bill Page wrote:
> As open source software it can survive in this state
> for a long time, but to advance in needs a lot more support.
> It is quite disappointing to me that during that last two years
> of fairly intense effort on our part, Axiom has not been
> adopted by any major university program or research institute
> and we are still struggling to find any kind of substantial
> support. :(

Axiom was "abandoned" twice, once by IBM and then by NAG. The second time was
especially devastating in that a working piece of software was taken apart and
some of its foundations removed. So it will take a few years to rebuild (like
New Orleans after Katrina and Rita). Until it can stand on its feet again, I
don't expect it can catch up with the 3M's in popularity. Another blow to Axiom
may be Aldor, which provides a more powerful language, so cutting edge
researchers moved to Aldor. But Aldor, like Axiom, will not enjoy the kind of
popularity as the 3M's, for the same reasons. It is our job to revive Axiom and
build on it, and if Aldor will never be open sourced, to compete with Aldor. So
far, even though Aldor provides a better language in terms of convenience of
programming, I am not yet convinced it is a more powerful or even more
expressive language (but of course, every computer is just as powerful as a
Turing machine ... and I am not saying convenience does not count).

But I should follow Bertfried Fauser: 

> stop typing in philosophy `nonsense` and try to do some
> more science and AXIOM programming... ;-)

which, for now, is finishing a joint paper on Enumeration of Rota-Baxter Words
with Li Guo from Rutgers University at Newark. The long-term plan is to develop
a more intrinsic algebra hierarchy in Axiom using operator algebras, which, as
vector spaces, have canonical basis related to Rota-Baxter Algebras.

William




reply via email to

[Prev in Thread] Current Thread [Next in Thread]