On Sunday, November 30, 2014 9:03:39 PM UTC-8, William wrote:
>
>
>
> On Sun, Nov 30, 2014 at 8:14 PM, rjf <fat...@gmail.com <javascript:>> 
> 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.  
>

But there might be 5 different programs accessible to Sage to do the
same thing.  Maybe there is always one easily identifiable "correct choice"?
But I doubt it.
 

>  
>
>>
>>
>>
>>> 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?
>
1.  I implemented the surface language  (since called  "The Wolfram 
Language")
but hardly the whole system.   My system (a) did numbers differently (b) was
much much faster on polynomial stuff  (c) had an entirely original 
integration
program (hardly as complete, but with its own particular strengths)
(d) a way different 2-D display, and
(e) was missing entirely:  most of the system, graphics, plotting, etc. 

There was an exchange of letters, but I did not cease or desist.  They
were just making noise, and it was apparent to UC lawyers.

 
>
>> 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...
>
Many of them marketing droids. 

>
>  -- 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+...@googlegroups.com <javascript:>.
>> To post to this group, send email to sage-...@googlegroups.com 
>> <javascript:>.
>> 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