[Top][All Lists]

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

[Axiom-developer] "Sage-type" notebook in a web browser

From: daly
Subject: [Axiom-developer] "Sage-type" notebook in a web browser
Date: Thu, 23 Jan 2014 01:21:51 -0600

> Thank you for your reply!  I've had a quick go at installing the browser
> interface (with instructions at the start of bookvol11.pdf).  I thought I'd
> try installing everything in my home directory, under /home/amca/axiom, but
> it seems that some of the material is coded to use /home/silver - which
> means I would have to add a new user to the system.  

Sorry about the 'silver' thing. The code is still being written and is
not yet 'production ready' so I haven't said much about it here. There
is still a lot of work to do before it replaces Hyperdoc although most
of it is low-level grind-it-out things I know how to do. Time, yaknow?

> What do you thing about using iPython, though?

I've used Python professionally. It is quite nice for simple scripts
and small problems. However, I ran into several issues, the most annoying
of which was the Python 2.7 vs Python 3.+ issue. Since it lacks a standard
(ala Common Lisp) I spent a lot of time wrestling with compatibility.

For instance, I started in Python 3.1 and decided to use a GUI library
which only ran on 2.7. I also had trouble with distribution issues as
the customer systems had incompatible versions.

I suspect that Sage will eventually have a huge issue when 2.7 disappears
since the 3.+ versions are not at all compatible.  Who is going to rewrite
PhD-thesis level algorithms in areas where they are not the author? Who
knows why PHI has the value 3.17313?

Anyway, I've been making sure that I minimize the number of languages
in Axiom. Meta is gone. Boot is gone. Noweb is disappearing. C is being
rewritten out of the system. Make will disappear eventually. So I 
certainly have no plans to introduce Python. 

> When I said Axiom was a "niche system", I meant in no way to belittle it -
> I think Axiom has qualities far and above every other system currently
> available - it just seems to me to have a small user-base (worse because of
> the fracturing into different forks), and hence work devolves to a very
> small number of people.  As for long-lived software, I don't know - the
> software with the longest lives seem to be programming languages (Fortran,
> Basic, C) with a large market.  But for any other system to survive, as you
> say, it has to be maintainable in the long term.

Axiom was a research project, never intended to be released to the world.
The algebra was written by people who invented the theory as part of their
PhD research. As such there was no motivation to write words to communicate
the ideas to anyone who might need to maintain it (me, mostly :-) ) since
I could just ask the soul next door.

Some of those "soul next door" people from the project are dead (e.g.
Richard Jenks, Manuel Bronstein, Chris Sundarasan, etc) making it
rather more difficult to get answers. In "The 30 Year Horizon" I
suspect that number will grow, unfortunately. Even those that are alive
do not maintain the code they wrote as they have better things to do.

So the model was "write the code, throw it on the heap, and hope it
never needs maintaining". That makes the "hill" you have to climb to
be part of the "user-base" very steep. That might be fine for a research
tool but not for public code. It is simply short-sighted, and rather
unprofessional in my opinion, to write computational mathematics for
public consumption with such an attitude.

I realize that it is pompous of me to make these claims. However, 
historically speaking, mathematics had the same kind of "hand wave"
approach to proofs in the 19th century. The 20th century raised the
standard, much to the improvement of mathematics. I believe we need to
"raise the standard" of computational mathematics to a level where the
code is explained well enough in natural language and equations that
it could be reproduced.

If we can't reproduce it then we don't understand it. If we don't understand
it then the code is dead. Axiom should live. Thus, I'm being a complete
curmudgeon about expected standards for computational mathematicians.

Computational mathematics that can be read, understood, and reproduced
can also be maintained, modified, and extended by someone who is not the
original author. In other words, live code, long-term progress in 
computational mathematics, and a potentially larger user base.


reply via email to

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