Why does anyone rewrite code that apparently already exists?

For myself, I can say this:
 Sometimes I don't understand other people's code.  It is too
elaborate, too general, uses extra layers of technology, is in a
programming language I am uncomfortable with.  Maybe some other
reasons.

Recently I decided to try "skip lists" as a data structure.  Using
Lisp.  I found several packages.  I decided not to use them and wrote
my own 2-page version. I understand my own program.  It doesn't do
more than I need.

This apparently happens with other people.

The real problem I see with Sage rewriting is that duplicating the
imported capabilities (or a subset of them) is not progress.
That is, rewriting Maxima in python may be fun, technologically
helpful if you want everything in python, maybe making nice user
interfaces to it .... but is not progress in the sense of expanding
the horizons of what a CAS can compute.

Worse, it is likely to be less capable than Maxima (or ...), since
there may be subtleties that will be missed.

Even worse, in my opinion, it may adopt the same design decisions as
Maxima, including the ERRONEOUS ones, by default.

For example, I have repeatedly pointed out the difficulties of dealing
with assumptions (in Macsyma, Mathematica, Maple).
Duplicating these systems will duplicate the difficulties.

RJF

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to