Changes between Initial Version and Version 1 of Ticket #17958, comment 25


Ignore:
Timestamp:
03/26/15 18:57:23 (6 years ago)
Author:
nbruin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #17958, comment 25

    initial v1  
    1 Replying to [comment:24 nbruin]:
    2 > Replying to [comment:23 mmezzarobba]:
    3 > > I doubt you can use sage (and not shoot yourself in the foot on every possible occasion) without understanding this kind of things at least a little.
    4 >
    5 > You can do some very simple examples, such as differentiating a function, plotting one, trying to compute an antiderivative without understanding the way python names (really, python has "names" in its namespaces. Variables have other connotations) and SR symbols interact; sort of the level of "wolfram alpha". We have to give people at that level at least a way into sage, otherwise they don't even get to shoot themselves in the foot, experience that as unpleasant and then gain the motivation to learn how to avoid that in the future.
    6 >
    7 > There's a reason why maple, mathematica, maxima went with their approach. We can't quite do that, but we have to make the hurdle as low as possible. I think
    8 > {{{
    9 > var('x')
    10 > }}}
    11 > or
    12 > {{{
    13 > declare_var('x')
    14 > }}}
    15 > are about the best we can do. I think it's a problem they return something in addition to injecting a binding. If we need to produce feedback on the action taken, I think printing something would be preferable (it's a routine that's only meant to be used interactively anyway), so perhaps:
    16 > {{{
    17 > sage: declare_var('x,y')
    18 > Declaring x, y as symbolic variables
    19 > sage: A=declare_var('z')
    20 > Declaring z as a symbolic variable
    21 > sage: A
    22 > None
    23 > sage: declare_var('w',quiet=True)
    24 > sage:
    25 > }}}
    26 > (where the `quiet` would be the gateway to getting people to use other ways--perhaps we shouldn't provide that)
    27 >
    28 > I'd be completely OK with `declare_var` being spelled as `var` too. The main thing is that I think it has been shown that injecting ''as well as'' returning something is harmful, so I hope we can change our interface to not do that.