Hi,

I just taught a very intense two week workshop on the Riemann Hypothesis
to 24 bright high school students, in which we used SAGE quite a lot
each day for 2.5 hours (http://wstein.org/simuw/).  I'm now very
seriously considering some changes to SAGE as a result.
The first is *removing* having predefined symbolic variable
names.   I.e., in SAGE right now the variables a..z and A..Z
are prdefined at startup to be symbolic variables (except for I
and e).

This has been discussed several times before on
this list, and in the past I always argued for them.  However,
after having watched many actual people using SAGE during
the last two weeks, I have changed my mind.  The following
sort of thing happened frequently day after day:

I would make a predefined notebook cell or function or
something like this:
{{{
def R(x):
    ...
}}}

and students would forget to evaluate it.   They would still
try to do things like "plot(R, 0, 10)", and they would end
up getting the identity function, which was very confusing.
This *constantly* happened.    An error message that R
isn't defined would have been vastly superior.

Another problem, is that doing, e..g,
 v = [y for y in w]
would turn y into the last value in w.  It would no longer
be symbolic.  So in writing code for the students, I could
never rely on predefined symbolic variables being defined.

So I propose that the only symbolic variables that are predefined
are x (since it's so useful to have this predefined), I (=sqrt(-1)),
and e (=2.7...).
If users want a symbolic variable, they have to use the var command.

One other thing that surprised me was
 (1) how little all the symbolic code in SAGE was actually useful for
the workshop,
 (2) how annoying it was not having decimal literals be floats by default, and
 (3) how annoying it was having certain special functions, e.g.,
      log, sin, cos, etc., return symbolic values by default
      instead of numerical values.

I.e., Perhaps I'm starting to see why MATLAB is more popular than
Maple/Mathematica for a lot of classes, and I'm starting to wonder if
SAGE should by default tend toward
being less symbolic, though it should still have all that
functionality easily available.

Don't worry -- I'm not gong to make any drastic changes without some significant
feedback.  So please, if you have thoughts on the above, let me know!

-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to