On Mon, Aug 23, 2010 at 6:54 AM, Simon King <simon.k...@nuigalway.ie> wrote:
> Hi Robin,
>
> On 23 Aug., 13:43, robin hankin <hankin.ro...@gmail.com> wrote:
>> Re automatic_names(): why isn't this the default?
>>
>> Now I know it exists, I think I'll probably use it all the time.
>>
>> Who uses sage without this option?
>
> I find automatic_names horrible, to say the least! In my opinion, such
> thing should *never ever* be standard!
>
> 1. If you write a little program on the command line and it does
> something, but simply it doesn't do the right thing or you get strange
> error messages about missing attributes -- it would be very hard to
> find out that you forgot to define some object X, so that Sage worked
> in the wrong assumption that X is a symbolic variable. I strongly
> prefer to get a clear error message, namely "NameError: Name 'X' is
> not defined" or so.
>
> 2. "Explicit is better than implicit" is a quite common credo. I think
> it is unsafe to rely on implicit assumptions of the type of an object.
>
> 3. I hardly ever work with symbolic variables. So, I really don't see
> the point why "X" should default to a symbolic variable.
>
> 4. My impression is that for quite many people a symbolic variable is
> the first thing that comes to mind when computing in a CAS - and it
> takes them a long while until they find that for their particular
> problem a different class (like a polynomial) works much better.
> Making a symbolic variable the default, I am afraid that one would
> support the wrong belief that symbolic variables are good for
> *everything*.
>
>
> So, it is not so much that programs would break. But debugging would
> be more difficult, and it would teach the people the wrong lesson,
> IMHO. And on the other hand, I can't see how life with Sage would be
> any easier if automatic_names was the standard.

Think about someone working through a series of calculus textbook
exercises (mostly one-liners). Personally, I wouldn't every want it to
be default, but can see how some people could really find it useful
(especially as we're aiming to be a viable alternative to the Ma's.
Also, note that Python itself has implicit variable declaration (as
opposed to, say, C, etc.) which has its pros and cons (though I like
it).

This, and implicit multiplication, should be in the FAQ at least.

- Robert

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

Reply via email to