Re: Why Did Mathematica Win?



On Oct 31, 4:17 am, cliclic...@xxxxxxxxxx wrote:
TimDaly schrieb:





On Oct 29, 8:11 pm, cliclic...@xxxxxxxxxx wrote:
TimDaly schrieb:

[...]

Derive is gone. TI no longer uses the lisp version (but they
would not release the sources to me which I'd like to keep for
historical reasons (think Newton's notebooks)).

If one of the successful companies dies it is unlikely that
they will release their code as open source since software is
now considered a capital asset. Besides, who could maintain
the code? I understand from the developers that it is not well
commented.

Does your last statement refer to Derive in particular, or to each and
any of the (once) successful systems?

It shouldn't be too difficult (for an expert hacker) to de-compile
Derive's lisp engine since it is of the interpreted pseudo-code type.
For Derive 6.10, the pseudo-code without data (like keyword and rule
strings) comes to about 550 kByte, which should very roughly correspond
to 2 MByte of lisp source listing. The interpreter occupies roughly 50
kByte of Intel machine code, corresponding to about 750 kByte of
assembler source.

Much of the lisp code will be more or less self-explaining, because of
the roughly 2400 rule strings that are displayed (along with the
intermediate result: a home to many bugs!) in single step mode for every
major symbolic transformation; with about 2 strings per listing page on
average this must be bloating the code by perhaps 50%. In Derive 6.10,
only limit extraction doesn't report transformation steps (I suppose
they were working on it when the system was abandoned). The keyword
strings should also help. Many black boxes would remain, however, like
basic expression handling, input parsing and output rendering, numerical
function evaluation, integer and polynomial factorization, primality
testing, matrix factorization and inversion, Groebner-basis calculation,
et cetera, et cetera.

But still, it's probably a few years of work for a dedicated person to
analyze all of this.

The Derive issue isn't one of understanding how it works, at
least for me.

I see the last 30 years as being the beginning of computational
mathematics, the collision of mathematics and computers. Reduce
was recently open sourced and Tony Hearn is to be applauded for
that.

Derive is one of the fundamental pieces of work, like Newton's
notebooks. I believe the sources should be kept so that they are
not lost to history. To that end I tried to at least get TI to
agree to create a "deadman repository clause" that would allow the
sources to be open-sourced if they stopped selling their calculator
line or lost interest in the sources.

I had several conversations with TI management but the result was
that there was no agreement. TI doesn't use the lisp code anymore.
The calculator code is in C++, so I'm told. Thus the lisp code is
only of historical interest. Dave sold the rights to TI so he is
not allowed to release the code.

It really pains me to think that these historically vital pieces
of information are going to go down the corporate memory hole.
Someone in the future will decide that the disk space is worth
more than the sources and will erase it all and a vital piece
of history will be lost.

I don't know what else could be done but I'm open to suggestion.

Your stance is somewhat unclear: preservation of historical documents is
one thing, rescueing a piece of software from oblivion by releasing the
sources another.

If you compare the Derive sources to Newton's (or Darwin's, etc.)
notebooks (I do not agree with this view), many comparable "documents"
like sources of the first word-processor or spread-sheet or database or
Basic or Pascal implementations for PCs would also have to be preserved
for posterity; here the task would be counter decay or accidental
destruction of the storage medium by keeping it under proper, controlled
conditions. Microfilming and storage in underground vaults may still be
the best way; I think there are government agencies taking care of this.
Why shouldn't TI agree to have a copy of the sources deposited there?

I am not interested in the historical significance of programs in
general.
I think that most of them are better off dead (especially the ones I
wrote).
However, in the emerging field of Computational Mathematics I see the
fundamental difference that, regardless of platform or language
issues,
these programs will still produce mathematically correct (...the usual
caveats here...) and useful information forever. So the early computer
algebra systems are different from the early programs in other
fields.

I spent a couple years gathering "all" the computer algebra systems
together in a pile I called "Rosetta". It amounted to just over 100
systems which I distributed on CDs. One of the key lessons is that
almost
every one of these systems "started from scratch" and did not build on
the others nor learn lessons from the others. I saw the same mistakes
repeated. We need to learn from each other.

If we are going to have a new fundamental field of Computational
Mathematics it is important to document the prior systems so that
they can be used as the basis for teaching. It is also important to
capture the history of the field. It pains me to watch systems like
Sage have the same ab-initio discussions (e.g. what is 0^0?) that
have already been debated on every CAS mailing list. About 90 of
the so-called CAS systems in Rosetta were "from-scratch polynomial
libraries using C++ operator overloading".

Systems like Derive are fundamental to teaching. Derive should be
fully documented and made into a living thing so that we can teach
from these materials. Closed-source systems like Mathematica and
Maple are useful for teaching (some) mathematics but not for teaching
computational mathematics where algorithmic issues dominate.

TI is in a prime position to benefit from open-sourcing Derive
since they have a calculator platform that could pick up the new
algorithms easily. I understand that there is a threat to their
closed business model. But I also understand that they stand to
gain the most from any improvements that are made. I also fear
that the calculator business is reaching an end-of-life position
because netbooks and cell phone are now powerful enough to run
huge systems like Axiom. Why buy a fixed-function machine? If
calculators die, does Derive die? Is there no other choice?

My interest in Derive is documentation. I believe it should be
recast into a Knuth-style literate form so the next generation
can use it for study. In that sense, I see Derive as one of the
Newton notebooks of computational mathematics. I worry less
about tomorrow and more about the 30 year horizon.

Anyway, its all fantasy unless Texas Instruments changes its mind.

Tim





.


Quantcast