 |
|
| Science Forum Index » Math - Symbolic Forum » Why Did Mathematica Win?... |
|
Page 1 of 2 Goto page 1, 2 Next |
|
| Author |
Message |
| Mark Lawton... |
Posted: Wed Oct 28, 2009 7:32 am |
|
|
|
Guest
|
There was plenty of maths software around before 1988, when
Mathematica was released - so why did Mathematica become so dominant?
Didn't the older software run on DOS (perhaps the other programs were
too big to run on a 1980s PC - but if so, then they should have built
"light" versions)? Perhaps they were too specialised? Was Mathematica
the first to implement a GUI (graphical user interface)?
What was it that allowed a start-up to beat rival software that had
been around for over 20 years? |
|
|
| Back to top |
|
|
|
| Jens Stuckelberger... |
Posted: Wed Oct 28, 2009 8:06 am |
|
|
|
Guest
|
On Wed, 28 Oct 2009 10:32:42 -0700, Mark Lawton wrote:
[quote]There was plenty of maths software around before 1988, when Mathematica
was released - so why did Mathematica become so dominant? Didn't the
older software run on DOS (perhaps the other programs were too big to
run on a 1980s PC - but if so, then they should have built "light"
versions)? Perhaps they were too specialised? Was Mathematica the first
to implement a GUI (graphical user interface)?
What was it that allowed a start-up to beat rival software that had been
around for over 20 years?
[/quote]
Better marketing? After all, Mathematica is the Microsoft of the
computer algebra world. |
|
|
| Back to top |
|
|
|
| TimDaly... |
Posted: Wed Oct 28, 2009 8:17 am |
|
|
|
Guest
|
On Oct 28, 12:32 pm, Mark Lawton <creamrisestothe... at (no spam) gmail.com> wrote:
[quote]There was plenty of maths software around before 1988, when
Mathematica was released - so why did Mathematica become so dominant?
Didn't the older software run on DOS (perhaps the other programs were
too big to run on a 1980s PC - but if so, then they should have built
"light" versions)? Perhaps they were too specialised? Was Mathematica
the first to implement a GUI (graphical user interface)?
What was it that allowed a start-up to beat rival software that had
been around for over 20 years?
[/quote]
Axiom was known as Scratchpad at the time and started around 1971 at
IBM
Research. Scratchpad was research software and was freely available.
I sent out magnetic tapes of the sources.
We were not trying to make a commercial product. We were trying to
understand the relationship between mathematics and computers since
computational mathematics was a very new field.
We did try to market Axiom through IBM sales but the sales department
had programs that checked the required documentation to make sure it
was readable "at the 8th grade level". Clearly this was not possible.
Axiom ran on DOS, but only in my office. The DOS version was never
released. This included the X front-end graphics and help systems.
Axiom was released as a commercial product due to a drop in funding,
both from government sources and IBM directly. We eventually sold the
rights to the Numerical Algorithms Group. Axiom was one of "the big 3"
(Mathematica, Maple, and Axiom) at the time.
Axiom was withdrawn from the market in 2000 and released as open
source.
Axiom is extremely strongly typed, allowing overload selection not
only
by the operand types but also by the return type. This is not yet
widely
available in most languages. It is built around an algebra core and
assumes
you know what mathematical concepts like "Ring" mean. The learning
curve
is rather steep because you need both a strong computational
background
and a strong math background. That is, you are a computational
mathematician. |
|
|
| Back to top |
|
|
|
| TimDaly... |
Posted: Wed Oct 28, 2009 3:03 pm |
|
|
|
Guest
|
On Oct 28, 1:17 pm, TimDaly <d... at (no spam) axiom-developer.org> wrote:
[quote]On Oct 28, 12:32 pm, Mark Lawton <creamrisestothe... at (no spam) gmail.com> wrote:
There was plenty of maths software around before 1988, when
Mathematica was released - so why did Mathematica become so dominant?
Didn't the older software run on DOS (perhaps the other programs were
too big to run on a 1980s PC - but if so, then they should have built
"light" versions)? Perhaps they were too specialised? Was Mathematica
the first to implement a GUI (graphical user interface)?
What was it that allowed a start-up to beat rival software that had
been around for over 20 years?
Axiom was known as Scratchpad at the time and started around 1971 at
IBM
Research. Scratchpad was research software and was freely available.
I sent out magnetic tapes of the sources.
We were not trying to make a commercial product. We were trying to
understand the relationship between mathematics and computers since
computational mathematics was a very new field.
We did try to market Axiom through IBM sales but the sales department
had programs that checked the required documentation to make sure it
was readable "at the 8th grade level". Clearly this was not possible.
Axiom ran on DOS, but only in my office. The DOS version was never
released. This included the X front-end graphics and help systems.
Axiom was released as a commercial product due to a drop in funding,
both from government sources and IBM directly. We eventually sold the
rights to the Numerical Algorithms Group. Axiom was one of "the big 3"
(Mathematica, Maple, and Axiom) at the time.
Axiom was withdrawn from the market in 2000 and released as open
source.
Axiom is extremely strongly typed, allowing overload selection not
only
by the operand types but also by the return type. This is not yet
widely
available in most languages. It is built around an algebra core and
assumes
you know what mathematical concepts like "Ring" mean. The learning
curve
is rather steep because you need both a strong computational
background
and a strong math background. That is, you are a computational
mathematician.
[/quote]
I really fear the consequences of a "commercial win".
Consider what happens if Wolfram or Maplesoft disappear.
It could happen. I don't know of many companies that have
lasted 50 years. In fact, I believe Maplesoft was bought by
the Japanese firm Cybernet Systems. And Symbolics had Macsyma
which is still sold for DOS or some such but effectively dead.
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.
So what is the state of computational mathematics if one of
the major companies goes under? Wouldn't the loss of MMA or
Maple tear a huge hole in computational mathematics?
Is there a real danger of commercial successful computational
mathematics or is my imagination running away with me?
Tim |
|
|
| Back to top |
|
|
|
| Nasser M. Abbasi... |
Posted: Wed Oct 28, 2009 7:58 pm |
|
|
|
Guest
|
Hello;
"TimDaly" <daly at (no spam) axiom-developer.org> wrote in message
news:2faa650f-c714-4539-9a95-
"I don't know of many companies that have lasted 50 years."
You mean in some specific field you have in mind or in general? In General,
there are many companies that have been around for much more than 50 years.
GE for one, and many more exist, from wikipedia
"General Electric was formed by the 1892 merger " This is more than 110
years ago?
If you mean in the field of computer algebra? then computers themselves have
not been around for much more than 50 years anyway.
"So what is the state of computational mathematics if one of the major
companies goes under? Wouldn't the loss of MMA or Maple tear a huge hole in
computational mathematics?"
Not really. We will simply rewrite the code by hand to run on the new system
that comes around, or write a translator to do it. That is why it is always
a good idea to document your code :)
"Is there a real danger of commercial successful computational mathematics
or is my imagination running away with me?"
If a company is successful, then why would it fail? seems like a
contradiction here?
As for the OP question: "so why did Mathematica become so dominant?"
I am not sure how you measure this. If you mean between all current CAS
system, then you are probably right, I do not know, but in general
computational tools, I am not sure.
Mathematica, even though it is a really nice system and it is the main
system I use now for most of my course work, it is still not as widely used
in schools as it ought to be due to its steep learning curve needed and lack
of an easy to use debugger and complexity.
Matlab is still the most widely used system in many schools. In the
engineering depts and even the Math departments. (But in Physics depts,
Mathematica seem to be used more based on what I've seen).
Check the Matlab newsgroup and compare the activity there to that of the
Mathematica newsgroup.
Matlab gets about 7,000 or so entries per month compared to Mathematica's
1,000 entries per month. So Matlab is 7 times as popular by this one
measure. This must imply many more are using Matlab than Mathematica. (If
the Mathematica newsgroup were to be made open, may be more people will
possibly use it, but I think Matlab will still be more popular.
So, may be your question should have been "Why did Matlab win?" and do
not forget Fortran also, it is still very widely used in "computational
mathematics".
btw, I think Mathematica or a computer algebra system in general (Maple,
Sage, etc..) is a must tool to learn for engineering students, but many seem
to prefer to just deal with numbers instead of symbols !
my 2cents.
--Nasser |
|
|
| Back to top |
|
|
|
| Dave... |
Posted: Thu Oct 29, 2009 5:51 pm |
|
|
|
Guest
|
Mark Lawton wrote:
[quote]There was plenty of maths software around before 1988, when
Mathematica was released - so why did Mathematica become so dominant?
[/quote]
It's not clear to me that Mathematica has 'won'.
Based on the number of job adverts, there are far more jobs for MATLAB than
Mathematica. In fact, I'm not convinced there are a lot of commercial users of
Mathematica. It is clearly quite popular in universities, but I'm less convinced
of its popularity in the commercial world.
Nasser makes the same point about the number of posts on the Mathematica and
Matlab newsgroups. I would also agree with him the closed nature of the
Mathematica newsgroup puts people off.
I think it is a good thing there is competition. I doubt processors would be as
good today if Intel and AMD were not in competition.
There is also competition from open-source software. Sage being the most obvious
example. I suspect Wolfram Research fear Sage somewhat, as a Google search of
'sage math' will bring up sponsored ads from Wolfram Research.
As I write, there are 15,903 messages on the sage-support list
http://groups.google.com/group/sage-support?hl=en
and 33343 messages on the sage-devel list
http://groups.google.com/group/sage-devel?hl=en
It will be interesting to see how those number increase over time.
[quote]Didn't the older software run on DOS (perhaps the other programs were
too big to run on a 1980s PC - but if so, then they should have built
"light" versions)? Perhaps they were too specialised? Was Mathematica
the first to implement a GUI (graphical user interface)?
[/quote]
There are certainly a large number of very specialised packages, which have far
less appeal than Mathematica.
[quote]What was it that allowed a start-up to beat rival software that had
been around for over 20 years?
[/quote]
Many big companies have gone to the wall. Some are huge banks, that are far
larger than Wolfram Research. |
|
|
| Back to top |
|
|
|
| ... |
Posted: Thu Oct 29, 2009 7:11 pm |
|
|
|
Guest
|
TimDaly schrieb:
[quote]
[...]
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.
[/quote]
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.
Martin. |
|
|
| Back to top |
|
|
|
| TimDaly... |
Posted: Fri Oct 30, 2009 7:49 am |
|
|
|
Guest
|
On Oct 29, 8:11 pm, cliclic... at (no spam) freenet.de wrote:
[quote]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.
Martin.
[/quote]
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.
Tim |
|
|
| Back to top |
|
|
|
| ... |
Posted: Sat Oct 31, 2009 3:17 am |
|
|
|
Guest
|
TimDaly schrieb:
[quote]
On Oct 29, 8:11 pm, cliclic... at (no spam) freenet.de 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.
[/quote]
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?
Releasing the Derive sources or, equivalently, allowing decompilation
and re-use, on the other hand, doesn't actually preserve a document, but
should (in this case in particular) offer a good chance of keeping the
software alive. I myself would be interested in getting some annoying
bugs exterminated. From what I've seen on this group, a switch from
Derive to Maxima or Axiom or even both would (on the average) amount to
a mathematical downgrade, and starting to bother with a Gigabyte bug
reservoir like MMA wouldn't ease my mathematical work significantly - my
Derive procedures for hypergeometrics and Meijer-G's suffice for me
(also see the recent "weakling" thread).
Martin.
PS: I know how to write programs in C, but I'm still using 40-kilobyte
zero-bug Turbo Pascal in a DOS window; I've seen nothing better since
then for small to medium everyday tasks. Similarly, Derive will still be
excellent 25 years from now. |
|
|
| Back to top |
|
|
|
| TimDaly... |
Posted: Sat Oct 31, 2009 6:16 am |
|
|
|
Guest
|
On Oct 31, 4:17 am, cliclic... at (no spam) freenet.de wrote:
[quote]TimDaly schrieb:
On Oct 29, 8:11 pm, cliclic... at (no spam) freenet.de 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?
[/quote]
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 |
|
|
| Back to top |
|
|
|
| ... |
Posted: Sat Oct 31, 2009 1:39 pm |
|
|
|
Guest
|
TimDaly schrieb:
[quote]
On Oct 31, 4:17 am, cliclic... at (no spam) freenet.de wrote:
TimDaly schrieb:
On Oct 29, 8:11 pm, cliclic... at (no spam) freenet.de 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.
[/quote]
I largely disagree with the last statement. If you have a few years to
spend (or can find and manage a group of specialists to speed things up)
you can decompile Derive 6.10 (or perhaps 1.0?), analyze the code,
comment it, and document it. You cannot make these documents public. You
can destil your insights into a new user manual for Derive and publish
this. You can correct the bugs that have surfaced in version 6.10 and
fill in unintended functionality gaps, and then write a patcher program
that updates a user's copy of DERIVE6.EXE, and thus make your
enhancements freely available. In this way, Derive would remain alive.
If you keep this up for a decade up to version 6.31, you will have
wrestled control over Derive away from TI and gone a long way towards
your goal. In ten years nobody at TI will understand their own Lisp code
anymore - the switch to C++ (this was news to me) has probably more to
do with the programmers they can get than anything else.
Martin.
PS: Sage must have a dozen definitions of 0^0, and many of them must be
incompatible. And they can't do anything about it!
PPS: I agree that TI-style symbolic calculators have no future. The only
market would be classroom use, in particular during exams. But I can't
see why educational authorities worth their money would consider this a
good idea. |
|
|
| Back to top |
|
|
|
| Dave... |
Posted: Sat Oct 31, 2009 4:41 pm |
|
|
|
Guest
|
clicliclic at (no spam) freenet.de wrote:
[quote]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?
[/quote]
Given the volume of data various governments departments have lost, who could
blame TI? |
|
|
| Back to top |
|
|
|
| Dave... |
Posted: Sat Oct 31, 2009 5:06 pm |
|
|
|
Guest
|
Nasser M. Abbasi wrote:
[quote]Hello;
"TimDaly" <daly at (no spam) axiom-developer.org> wrote in message
news:2faa650f-c714-4539-9a95-
"I don't know of many companies that have lasted 50 years."
You mean in some specific field you have in mind or in general? In General,
there are many companies that have been around for much more than 50 years.
GE for one, and many more exist, from wikipedia
"General Electric was formed by the 1892 merger " This is more than 110
years ago?
If you mean in the field of computer algebra? then computers themselves have
not been around for much more than 50 years anyway.
"So what is the state of computational mathematics if one of the major
companies goes under? Wouldn't the loss of MMA or Maple tear a huge hole in
computational mathematics?"
Not really. We will simply rewrite the code by hand to run on the new system
that comes around, or write a translator to do it. That is why it is always
a good idea to document your code :)
"Is there a real danger of commercial successful computational mathematics
or is my imagination running away with me?"
If a company is successful, then why would it fail? seems like a
contradiction here?
As for the OP question: "so why did Mathematica become so dominant?"
I am not sure how you measure this. If you mean between all current CAS
system, then you are probably right, I do not know, but in general
computational tools, I am not sure.
Mathematica, even though it is a really nice system and it is the main
system I use now for most of my course work, it is still not as widely used
in schools as it ought to be due to its steep learning curve needed and lack
of an easy to use debugger and complexity.
[/quote]
I think more and more lecturers are now considering the problems of using
expensive proprietary software. I used to teach a basic Mathematica course at
university about 10-15 years ago. I never gave the cost of Mathematica any
thought. It was effectively free.
Now, I think more people are aware of the advantages and disadvantages of closed
source software. In the case of Mathematica, the cost is very significant issue.
I feel it would be an injustice of any lecturer to insist students use software
they can get for free or very cheap, knowing it is really a 'sprat to catch a
mackerel'. I feel the lecturers should at least make students aware of this. As
a matter of interest, was this pointed out to you? I know I was guilty of not
mentioning it to my students 15 years ago, but I think in 2009, it would be
sensible that this fact was mentioned to students.
I like Mathematica too. |
|
|
| Back to top |
|
|
|
| Dave... |
Posted: Sat Oct 31, 2009 5:39 pm |
|
|
|
Guest
|
TimDaly wrote:
[quote]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.
[/quote]
There are undoubtedly some reasons why this often happens.
1) Code is badly documented, so it's quicker to write it from scratch, than to
add to what someone else wrote. I've done that myself more than once, though the
code had nothing to do with computer algebra.
2) Programming language trends have come and gone - Fortran and Lisp are now
quite rare skills to find, yet will be in many scientific software written many
years ago.
That's why I like the rationale of Sage. Rather than start from scratch, it
glues 100+ pieces of software together, so past effort is not wasted.
[quote]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.
[/quote]
I see some of that discussion. There are certainly things which are relevent
today, which would have not been debated before. One was the fact there is some
ISO standard for C, which defines 0^0 in some way. Since that was quite a recent
'standard', that issue has probably not been debated. Someone made that point
in this case that one should be mathematically correct, not follow a 'standard'
which was written with something else in mind.
Comparisons with what the commercial software gives for 0^0 is at leasat
interesting.
[quote]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?
[/quote]
I do agree about the fact that the end is probably in sight for calculators.
It's like chess computers - for the most part, it is better to put a chess
program on a PDA or laptop.
You could try approaching TI and asking would they sell the source code, and if
so how much? Say you would approach some grant giving body to try to raise the
cash to pay for it.
Sun open-sourced most of Solaris 10, and certainly seemed to have gained from it.
[quote]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
[/quote]
Asking for a price might be one way. |
|
|
| Back to top |
|
|
|
| TimDaly... |
Posted: Sun Nov 01, 2009 1:51 am |
|
|
|
Guest
|
On Oct 31, 6:39 pm, Dave <f... at (no spam) coo.com> wrote:
[quote]TimDaly wrote:
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.
There are undoubtedly some reasons why this often happens.
1) Code is badly documented, so it's quicker to write it from scratch, than to
add to what someone else wrote. I've done that myself more than once, though the
code had nothing to do with computer algebra.
2) Programming language trends have come and gone - Fortran and Lisp are now
quite rare skills to find, yet will be in many scientific software written many
years ago.
That's why I like the rationale of Sage. Rather than start from scratch, it
glues 100+ pieces of software together, so past effort is not wasted.
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.
I see some of that discussion. There are certainly things which are relevent
today, which would have not been debated before. One was the fact there is some
ISO standard for C, which defines 0^0 in some way. Since that was quite a recent
'standard', that issue has probably not been debated. Someone made that point
in this case that one should be mathematically correct, not follow a 'standard'
which was written with something else in mind.
Comparisons with what the commercial software gives for 0^0 is at leasat
interesting.
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?
I do agree about the fact that the end is probably in sight for calculators.
It's like chess computers - for the most part, it is better to put a chess
program on a PDA or laptop.
You could try approaching TI and asking would they sell the source code, and if
so how much? Say you would approach some grant giving body to try to raise the
cash to pay for it.
[/quote]
I have tried on several occasions to get grants for the Axiom project.
The response has always been the same... join a university. But my
last university took over 50% of my grant money "for overhead".
And a university or a company is not going to hire me to write
literate documentation of an open source program like Derive.
It seems there is no mechanism to give grants to projects that are not
affiliated with an organization that has an accounting department.
Since the NSF charter includes developing educational material it
seems they would support a literate rewrite for teaching and research
purposes. I spoke to the new NSF person this summer and they said
there
was no way they would issue a non-affiliated grant. Even the grant I
did get while at the university would not have been approved if it was
sent in independently.
I approached IBM about setting up an "open source accounting business"
which does nothing but receive and administer grant money for projects
that are open source. The idea is that the "open source accounting"
would process receipts against the grant (e.g. travel, equipment, etc)
just like a corporate accounting department. This would ensure that
the
money was spent in ways that could be tracked. IBM said no.
TI could issue the Derive lisp code "as a grant" but it seems
unlikely.
[quote]Sun open-sourced most of Solaris 10, and certainly seemed to have gained from it.
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
Asking for a price might be one way.
[/quote]
All of my computer algebra work is done in my free time and on my own
personal budget. Any price for the source code would be too much.
I certainly don't see that people would post money to pay for the
Derive source. Who would negotiate the contract and manage the funds?
Since TI does have an interest in the educational aspects perhaps
they might hire someone to make Derive literate. Then they can
leverage their investment to sell it to schools. That way the
source code would not be free but it would still live. TI could
make money on the teaching material supported by calculators
running the same software for classroom use. You could build a
couple courses around the literate sources. (Remember that my
interest is more about making it "live" rather than making it
"free").
Getting back to the original question about "Why Mathematica won",
I believe that you're assuming the conclusion, a logical fallacy.
(Of course, I'm assuming a different playing field; teaching
computational mathematics rather than commercial success so I
am assuming a different universe of discourse). You assume that
the current leader in sales will remain that way forever and
have a viable program that survives. I would have said the same
about Macsyma on Symbolics which was the "world leader" at some
point in my overlong past.
There is a story that someone asked Chairman Mao if the French
Revolution was a success. He is said to have responded
"It is too soon to tell".
Did Mathematica win? I think it is too soon to tell.
This is computational mathematics. Look to the 30 year horizon.
Tim
Elder of the Internet |
|
|
| Back to top |
|
|
|
|
|
All times are GMT - 5 Hours
The time now is Mon Nov 30, 2009 9:32 am
|
|