Juho Schultz wrote: > Last month I spent about an hour trying to explain why > a*2.5e-8 = x > raises a SyntaxError and why it should be written > x = a*2.5e-8 > The guy who wrote the 1st line has MSc in Physics from Cambridge (UK). > In mathematics, there is no difference between the two lines.
Some time ago I tried to 'sell' Python to a mathematician. The crucial point was that it was not (in standard Python) possible to have a matrix A and a matrix B and then do for example: A = A * B and have a matrix multiplication performed. Since the whole conversation started because there was a need to use this notation for a standard mathematics course this didn't result in adopting Python for it. Meanwhile there has been some progress in Python use there, and of course there are specialized Python packages that enable this kind of notation, but it remains true that there *is* an abyss between computer science and mathematics. Mathematics should change ;-) But that doesn't mean that I wouldn't like standard Python to have A*B for matrices. The problem is that so called 'conventional' mathematical notations leave many options for interpretation, depending on the context and on mutual understanding between mathematicians, excluding non-mathematicians very effectively. A (Python) interpreter has no such problems and will allow precise inspection of what is meant by a piece of code. It has additional advantages in that it can function as a kind of "mathematical spellchecker" for people like me who often miscode things. Some mathematicians I know can write formulas page after page, while I, if I were to write (or read) a page of formulas there would be at least one mistake throwing me of course for the rest of the document, so that I would need to go back again and again. Does that make me a bad mathematician or does it signify that mathematical notation should change? For me the answer is clear, but that could be because I can't read the stuff without the documentation, and the documentation (mathematics) is considered to be known to everyone (with a math education of course) but I doubt if that is really the case and, even if it were the case it doesn't imply that being explicit (in giving the procedures in computer and human readable form at the same time, for example in Python) wouldn't be even better. Anton -- http://mail.python.org/mailman/listinfo/python-list