Deposing Dictators

Tim Peters at
Sun Aug 5 23:59:53 CEST 2001

[Stephen Horne]
> ...
> Actually compile all the main issues into a single post so that
> people would actually have to think to counter it, and all they do
> is ignore it.

I didn't ignore it, but I didn't reply either -- you were carpet-bombing at the time, and were getting plenty of responses.  You may wish to
ponder why the anti-PEP contingent also "ignored" it:  there were no
responses period, not even a "me too!".

I just looked it over again, and, frankly, it doesn't make much sense.
Starting at the top:

[Stephen Horne
 Sent: Wednesday, July 25, 2001 3:27 AM
 Subject: Re: Steve Summary of views on the Is-It-Actually-Better?
> ...
> I believe PEP0238 is wrong in principle because...
> 1.  The fact that mathematicians have had many views on integers
>     and division,

Factually incorrect; mathematicians have no disagreement over the meaning of
int/int (it's a rational).

>     and the one that is in most non-specialist mindsets

Hard to know what this means, but the idea that the majority of
non-specialists see "2/3" and think "0" is absurd on the face of it, if
that's what it means.

>     doesn't meet the pragmatic requirements for several fields of
>     mathematics, is understood. That doesn't make the other
>     definitions from less demanding, more down-to-earth fields
>     invalid.

PEP 238 retains an operator for flooring division (assuming that's what you

> 2.  It particularly does not invalidate the practical view which most
>     people can easily understand, which is taught to everyone at
>     a very early age and which also happens to work extremely well
>     for typical programming tasks (not just specialist applications).

PEP 238 doesn't dispute the utility of flooring division (assuming etc).

>     Doesn't the pro-pep views insistence on the most pragmatic
>     possible definition of discrete integer division seem more than a
>     little inconsistent with their sloppy attitude to the much more
>     fundamental difference between discrete and continuous
>     mathematics?
>     Just because it isn't the unnecessarily pragmatic (for normal
>     programming tasks) field of mathematics that a few people
>     subscribe to, it doesn't make it wrong. It is simply from a less
>     specialised, more basic and more generally useful field that
>     doesn't address the  specialist problems of the minority over the
>     general day-to-day practicality of the majority.

If that were English, it would be easier to make a response <wink>.

> 3.  Practically all programs use discrete integer quantities -
>     indices, subscripts, counters, sizes and more - whereas numerics
>     is a particular specialist field.

You've got some private definitions for these terms I was never able to

>     Making life more awkward for the majority just to suit a few
>     specialist fields is not rational. It's the specialists dealing
>     with specialist fields who should have to deal with awkward
>     special case syntax and semantics - not the everyday user.

The idea that a majority of non-specialists believe 2/3 means 0 has not been
established, and IMO is almost certainly false.

> 4.  Discrete measures and continuous measures are not the same thing
>     and should not be arbitrarily confused.

PEP 238 suggests two distinct operators in order to reduce confusion(!).

>     Discrete integer division makes perfect sense despite the fact
>     that specialist fields have outlawed it for specialist reasons
>     relating to specialist problems.

Nobody has "outlawed" any meaning for division, "specialist" or otherwise.

>     This is much more fundamental than just switching between
>     different representations of continuous measures.

"This" doesn't appear to have a sensible referent.

>     The pro-pep groups arbitrarily application of continuous measure
>     division principles with a discrete integer type is wrong in
>     mathematics,

Factually incorrect.

>     and it is wrong in engineering,

Whether it's velocity = distance/time, or voltage = watts/amps, engineers
rarely have "discrete" division in mind.  So "wrong" is wrong here too.

>     and it is wrong in programming.

The meaning of division a program needs depends entirely on context.  Any
meaning is "wrong" in some programming contexts.

>     My use of more practical day-to-day discrete principles for
>     discrete integer arithmetic than would be appropriate in field
>     theory - or even 16-year-old pure mathematics, I fully agree
>     - is not the same thing at all.

Couldn't parse that one.

> 5.  Having established that division on the discrete integer type
>     should work in the only practical way that makes sense

LOL!  I hope that was *meant* to be tongue-in-cheek.

> ... [much more snipped] ...

This is too time-consuming, Steve, and I think it's clear why you didn't get
support for the kinds of arguments above even from the anti-PEP camp.

Code breakage was and remains a strong anti-PEP argument.  You once thought
it was supremely important to "do what other scripting languages do", but
since the JavaScript and VB examples backfired you don't mention that claim
anymore.  I thought that was a marginal but plausible argument, and still
do.  No other anti-PEP argument survived my personal credibility cutoff.

    y'rs  - tim

More information about the Python-list mailing list