Le 16 mars 2019 à 10:02:31, Greg Ewing (greg.ew...@canterbury.ac.nz(mailto:greg.ew...@canterbury.ac.nz)) a écrit:
> Rémi Lapeyre wrote: > > I think this omit a very important property of > > mathematic equations thought, maths is a very strongly typed language > > which can be a significant improvement for readability. > > Python is very strongly typed too, so I don't really see how > maths is different. Sorry, this should have read « maths is a statically typed language ». For example, in Python I can write: def inverse(x): return x ** (-1) But this would never be accepted in maths, I should say one of R -> R f: x -> x ** (-1) R+* -> R f: x -> x ** (-1) [1; +oo[ -> R f: x -> x ** (-1) GLn(K) -> GLn(K) f: x -> x ** (-1) And in all those examples, ** would have meant something very different and the resulting objects f are very different. For example, the third one is Lipschitz continuous but not the first. On the other hand, I know nothing regarding the inverse Function in Python. Knowing nothing about `inverse` means that every time I use it i must determine what it means in the given context. > > For example, a > > mathematician working within the space of linear maps over a vector > > space will easily recognize the meaning of every symbol in: > > > > f(a * x + y) = a * f(x) + f(y) > > Yes, but he has to remember what types are associated with > the variables -- nothing at their point of use indicates that. > Likewise, the reader of a Python program has to remember what > type of object each name is expected to be bound to. If he > can remember that, he will know what all the operators do. The overhead to track the associated type for a given name in maths is far lower since it is a functional language. In maths, I can just make a mental note of it and be done with it; in Python, you can never be sure the type of the binded object did not change unexpectedly. > -- > Greg > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/