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