On 7/7/07, William Stein <[EMAIL PROTECTED]> wrote: > > 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.
I vote for the Macaulay variables (RR, QQ, ZZ, etc) to be predefined. I don't care about e but I prefer I to Python's J or j for sqrt(-1). In general, I agree with you that user friendliness is very important. > > 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. Does having two functions, eg Sin (symbolic) and sin (numerical), make sense? > > 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/ -~----------~----~----~----~------~----~------~--~---