[Edu-sig] Re: Still working on rational numbers PEP?

Arthur ajs@ix.netcom.com
Wed, 2 Oct 2002 08:43:51 -0400


Kirby wrties :

>In Python, we might go:

>   >>> rat(0.5555)
>1111r2000
>   >>> rat(0.5555)/1r2
>1111r1000

>The main objection to my proposal, I think, is that it seems
>to return us to the bad old days (like now), when / can do
>different things depending on the types of the operands.

To me, in a limited sense only,  the good old days.  I think there is some
consistency, at least, in my view of things.  As with my thinking on copy()
as a built_in, I like to see important conceptual ideas laid as clearly on
the table as possible.  I can only talk from my own experience.  1/2 = 0 is
how I learned that numerical typing not only exists but acutally *matters*.
Surely 1/2 = .500 is *easier*. Its simply less educational.  And if Python
was somehow unique in the fact that numerical typing mattered, I guess one
could argue about the importance of the lesson.

Truly not looking to open old wounds.  But I do think my position is not
totally off the wall.

Again I do understand that Guido is in the trade-off game, and it is silly
for me to question his decisions on some of these things when I admit to not
understanding all the trade-offs involved in a decision.  Even if I
understand 80%, the 20% I don't might be the ones that put a close decision
over some top.

That being said, the fact that Python's bad old days behavior in respect to
"/" did not meet the expectations of a  novice that Python should behave
like a calculator, I felt strongly and feel strongly, should not be a
concern. Destroying some expectations, clearly and cleanly and early on, is
a good thing, IMO.

And with that said, my real feelings are that *now* is the best old days.
The *option* to change the default "/" behavior is beautiful.  For PyGeo,
for example, I will probably avail myself of it. But because programming
education is *not* my prime focus.  Wonder why these kinds of toggles aren't
a longer term alternative to these kinds of issues?

Art