On Tuesday 18 September 2007, John Cremona wrote:
> [I'm not sure why this thread is atll called "Calculus"!]
>
> This is a basic mathematics/CS divide.  Mathematicians will expect
> their vectors of length n to have indices 1..n and similarly for
> matrices and so on.  The packages pari and magma use that convention
> accordinly, since they are written for mathematicians to be as close
> to mathematical notation as possible, and this is a great help to
> getting mathematicians to do computations.
>
> I think there's a real problem if we tell mathematicians tat to use
> SAGE properly they have to both learn programming in a language they
> have probably never heard of (sorry, but that is the case with pyhton
> and mathematicians) and also re-learn habits of a lifetime.  There is
> a very steep learning curve involved in learning a new package in any
> case -- it took me years to get a "feel for" magma, and I still don't
> have a good one for SAGE -- and it does not take a lot to put people
> off.
>
> Sorry if this sounds negative, but I have a feeling that sage-devel
> has more CS people in it than mathematicians!

The main issue is: Starting at 1 cannot be done if you want to keep using 
Python, i.e. not reinventing the wheel. You can change the SAGE library code 
but everything core Python will still start counting at zero. Also, other 
libraries you might want to use with SAGE (one of the cool things about SAGE 
is that you can use it with all the other cool Python libraries) will still 
start counting at 0. Introducing a couple of functions which start counting 
at 1 will make things more difficult than easy. The rule: start counting at 
zero is easy enough to understand, though I appreciate that it is sometimes 
odd if you are working with a paper and have to fiddle with the indices. The 
rule: "sometimes we start at one and often at zero" is way harder to get 
IMHO.

So if we set aside our personal preferences and backgrounds (CS and Math) for 
a moment: by choosing a mainstream programming language the choice to start 
counting at zero was made as well. If we are not happy about it we might need 
to fork Python (this is not a proposal :-)).

Also, the argument given above is a marketing argument. It is about convincing 
somebody to use a piece of software. I don't think it is a good idea to 
change a clean, well understood and dominant design (at least in CS to be 
precise) just for the purpose of convincing somebody to use a product, when 
we don't even know, if [s]he's interested in it. If SAGE has the (best) tools 
researchers need, they will use it. If somebody refuses to use a piece of 
software because of indexing differences ... well ... I honestly wouldn't 
know what to say.

Martin

-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [EMAIL PROTECTED]


--~--~---------~--~----~------------~-------~--~----~
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