On Fri, Aug 19, 2011 at 5:27 AM, leif <not.rea...@online.de> wrote:
> On 19 Aug., 12:12, Harald Schilly <harald.schi...@gmail.com> wrote:
>> On Friday, August 19, 2011 12:02:14 PM UTC+2, leif wrote:
>>
>> > It shouldn't be that hard to implement functions which at least
>> > partially translate MATLAB / Mma / whatever syntax (passed as a
>> > string, or from a file) to corresponding Sage expressions and
>> > commands, analoguous to preparse().
>>
>> That sounds nice, but it is a dangerous way. It's not only a lot of work,
>> but if you don't explicitly tell new users that this system is really
>> _different_ they hesitate to sit on their ass a bit to learn it and also
>> will never fully comprehend the system and furthermore will never be
>> productive with it. A good example is octave, where they have to copy all
>> the matrix  bugs of matlab just to be compatible. Do we want to copy all the
>> silly bugs too? If we want to be able to parse it, we would have to. I
>> really don't like going down that path ...
>
> I didn't have a fully-fledged compiler (or clone) in mind, but rather
> some kind of "interactive tutorial" (for migrants and people taking a
> first look at Sage), to be used like one uses preparse() to get Sage-
> specific constructs "explained", but rather the inverse way, quickly
> giving [brief] answers to questions like:
>
>  * What's the name of function / operator xy (I have in Mma,
> MATLAB, ...) in Sage?
>  * How do I construct the following Mma / ... expression in Sage?
>
> We have tutorials, more or less interactive worksheets, and the
> reference manual, but as far as I know no cheat sheets* for users
> coming from the big M's, nor look-up functions other than for Sage
> names at the command prompt.

+1

> Designing modules, classes and functions such that tab completion will
> eventually give some insight on a topic (like UNIX's 'apropos') is
> quite limited, and doesn't work at all for "foreign" functions (unless
> we'd put them into the namespace, which would likely be limited and
> IMHO a bad idea).

Where it really shines is when I have an object, say E, and do

E.<tab>

But I agree that that alone is often insufficient.

More on topic, I strongly agree with the sentiments that we are trying
to create a viable alternative, not a clone. Sage does lack a concise
syntax for matrices which are a pretty basic type, and I think this
deficiency is probably worth addressing with the preparser. The [a, b;
c, d] syntax is a natural one (pari as well as Matlab uses it), though
I'm open to suggestions. FWIW, Maple and Mathematical require nested
lists just as Sage does now. As for the basering, we have

    [a, b; c, d].change_ring(QQ)

but change_ring might be a bit obscure. Maybe "over" could be provided as well.

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to