axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] RE: Boot vs. Lisp


From: Bill Page
Subject: RE: [Axiom-developer] RE: Boot vs. Lisp
Date: Tue, 1 Nov 2005 01:56:37 -0500

Bob,

After this reply, I promise to "give it a rest" ... :)

On November 1, 2005 1:16 AM you wrote:

> C Y address@hidden wrote:
> ... 
> Having worked on a couple projects which involved some form of
> custom language...
> 
> It is far, far more important to have a system which people can
> jump into quickly than it is to have a system that is complete, 
> thorough, and consistent.  If it is easy to get into, it will
> become complete, thorough, and consistent eventually.
>

I agree with this. But from my point of view the BOOT language
embedded in Axiom is much easier to "jump into quickly" compared
to lisp, if your starting point is SPAD or if you had previously
programmed in Python (unless you also happen to be a lisp
programmer).
 
> By writing in a language no one has ever heard of, the project
> will be doomed to those that already know it, and those that
> have a lot of time on their hands.  Open source development
> is "itch scratching" and if it takes a month to figure out how
> to scratch the itch, most people won't do it.

I cannot help but counter this view with another quote from
Norvig:

Teach Yourself Programming in Ten Years

http://www.norvig.com/21-days.html

"Researchers (Hayes, Bloom) have shown it takes about ten
years to develop expertise in any of a wide variety of areas,
including chess playing, music composition, painting, piano
playing, swimming, tennis, and research in neuropsychology
and topology."

He claims this applies to programming as well and I doubt
that he would have any objection to adding computer algebra
systems to the list.

Of course we aren't talking about learning to program just to
make small changes to Axiom. We must assume that the people
who choose to work on Axiom already have quite a lot of other
relevant experience including programming in several languages.
I think this is what limits the potential developers much more
than just learning another new language.

> 
> Complexity of software scales as exp(size).  Doubling the
> size (maintaining a compiler too) means far more than double
> the work, and will require far more than double the coders.

Maintaining both a library compiler (SPAD) and an interpreter
(an integral part of the user interface) is inherent in the
design of Axiom. BOOT is closely related to SPAD (or perhaps
better said, SPAD is closely related to BOOT). So really there
is no additional compiler to maintain.

> 
> I don't really care what language is used.  I've used around
> 40 in my life and can learn another.  But Axiom will die if it
> is necessary to maintain a compiler also,

I don't agree. I think maintaining a compiler as part of Axiom
is essential.

> and it will die if other people can't pick it up quickly and
> contribute.  KISS.

That might be true. But I think we need to be very clear what
you mean by "pick it up". If you mean "learn to use Axiom to
solve some relatively simple algebraic problem", then I don't
think Axiom is much worse off than any other computer algebra
system in that regard. From there to programming Axiom library
routines is not such a big step. And there are other things
that one would need to "pick up" before one could start making
changes to Axiom itself.

> ...

Regards,
Bill Page.






reply via email to

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