On Sun, Nov 30, 2014 at 8:14 PM, rjf <fate...@gmail.com> wrote:

>
>
> On Tuesday, November 18, 2014 1:35:21 PM UTC-8, William wrote:
>>
>> See this interesting document:
>>
>>    http://www.maplesoft.com/products/maple/compare/
>> HowMapleComparestoMathematica.pdf
>>
>> Thanks for pointing it out.  For a marketing document it is not too bad,
> but
> it is still a marketing document.  Maybe that's what you want, but from a
> technical
> standpoint it has some issues.
>

Definitely a marketing document is what I want.  That's why I explicitly
list "potential users" as part of the target audience.


>
>
>> It would be valuable to our users (and potential users) if we had a
>> similar document which explains and *argues* for why we believe our
>> approach to mathematical software is better than the ones taken by
>> Mathematica, Magma, Maple, and Matlab.
>>
>
> I think it would be totally confusing to present examples from all those
> programs
> and contrast them with Sage, and all the variants available in Sage.
>

That's easily solved -- e.g., have four versions, one for each Ma.   A
prospective reader would only read one of them.


>
>
>
>> Some samples from their document: "About 95% of Maple's functionality
>> is written in the  Maple programming language, and every Maple user
>> can freely inspect the source code for any of these predefined Maple
>> library routines. [...]
>
>
> This is true in principle, but the source code so displayed is generally
> not readable because it has been stripped of all comments and frankly
> is in a crummy language.
>

I didn't know they were stripped.  Interested.


>
>
>> In Mathematica, the source code for all the
>> predefined library routines written in the Mathematica  programming
>> language is hidden from the user." (*)
>>
>> When arguing for Maple's language over the Mathematica language, they
>> say "Functional programs are often opaque; most people,  even
>> experienced programmers, find functional-style  programs to be
>> significantly harder to write, read, and  debug."
>>
>
> It would be interesting to learn how the (anonymous?) author came to
> hold this opinion. The obscurity of the Mathematica code in the example
> has rather little to do with it being in a functional mode, and more of
> it involving obscure function names and syntax.  For example,
> where Lisp would define a function as
>
> (lambda(x)(+ x 1)
>
> Mathematica programmers COULD write it readably as
> Function[{x}, x+1]
>
> Or they COULD write,
> #+1&
>
> and that lends a certain je ne sais quoi to the so-called "functional"
> version.
>

:-)


> (defun hailstone (n) (cond ((= n 1) '(1)) ((evenp n) (cons n (hailstone
> (/ n 2)))) (t (cons n (hailstone (+ (* 3 n) 1))))))
> a minor change to this code would allow it to run without using arbitrary
> stack
> space  (so-called tail recursion removal).
>

Lisp is so beautiful.   (Seriously; no sarcasm)


>
>
>> (*) We had a specific situation a few years ago where an academic
>> wrote a package in maple, and a student at UW wanted to write a
>> similar open source package in Python.  We specifically asked
>> Maplesoft if the student could look at the source code of Maple, which
>> is "open" in the sense they list above, then be inspired by it in
>> writing his own Python code.   They came back and clearly said "no
>> way; absolutely not!"
>>
>
> I think that you could read your user license, but it looks sort of like
> you were asking if it was OK to use their code to reverse-engineer
> (part of) their system.
>
> I have in the past toyed with the idea of duplicating the functionality
> of the Maple kernel  (by writing it in Lisp, naturally) and then being
> able to run all the Maple-language code on top of it.  Duplicating
> the Maple kernel might not actually be so challenging because a
> good deal of it is likely to be already in Lisp.
>
Storage management,
> list processing, bignums. And writing a parser /interpreter is
> generally easy, especially for a simple language like Maple.
>
> It would presumably be a violation of something to share
> it with anyone else.
>

Didn't you do exactly the above with Mathematica, but were unable to
continue because of a cease and desist letter from Wolfram?


> Sage has many packages with duplicative routines, but apparently
> disparate treatment of edge problems. The advantage of having
> someone with a Wolfram-like ego, plus a majority ownership of the
> business, is that he can make a decision without reference to a
> Code of Conduct.
>

Having 750 fulltime employees is another advantage...

 -- William


> RJF
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to