Condorcet analysis of Official PEP308 Ballots

Norman Petry npetry at accesscomm.ca
Tue Mar 11 10:58:12 EST 2003


On Tue, 2003-03-11 at 07:18, Anthony Baxter wrote:
> 
> >>> Norman Petry wrote
...
> > Of course, the fact that the status quo is clearly preferred by a
> > majority in both votes does not necessarily mean that the ternary should
> > not be implemented.  It is likely that many features that have been
> > added to Python would not have received the support of a majority when
> > they were first introduced.  For this reason, the SOCIAL RANKING is
> > probably a much more useful result than the SINGLE WINNER when trying to
> > decide how to resolve this issue.
> 
> Um, huh? A vote was held, a majority said "no change", and suddenly now
> you're claiming that "obviously a vote isn't the important thing"?

No, I never claimed that.  I think that holding this vote, as well as
properly tallying and analyzing the results was very important,
otherwise I wouldn't have gone to the trouble of doing it.

My point was that the status-quo option, which a majority clearly
prefers to every other alternative, won't necessarily be the most useful
piece of information for Guido.  If this was a democratic decision, then
yeah, the single winner result should be used.  It's clearly not,
though.  GvR isn't known as the "Benevolent _Dictator_ for Life" for
nothing!  Only Guido can decide how much support is needed for the
ternary to justify adding it to the language, and he can set the bar
wherever he wants.  He might require a simple majority.  However, if he
is hostile to the idea of a ternary, he might require a supermajority,
as some of the opponents of the ternary expected when voting methods
were being discussed.  On the other hand, he may decide that adding a
feature that would be useful to a large minority of users is a good
enough reason to add it -- only Guido knows.

> I ended up not caring whether it goes in or not. But to turn around after 
> the vote with this sort of comment "well, not everything that went into 
> python would have won a vote, that's not the important thing" seems like 
> sour grapes of the worst sort.

Nonsense.  Personally, I'd be perfectly happy if Guido decides to accept
the majority decision and NOT implement the ternary, since the ternary
syntax proposals with the most community support are worse than the
status-quo, imo.  If you look at my ballot, you'll see that the only
proposal that I think would make Python a better language is:

x if C else y

which came in 4th in the collective rankings -- a strong showing, but
clearly one with many opponents.  The most likely alternative for
implementation based on the vote is:

(if C: x else: y)

which is clumsy and inelegant, but at least readable.  I'd prefer not to
see this in Python.  It won't appear in my code, and I'd rather not have
to read other people's code that uses this.

The third ranked option was:

C ? x : y

which I detest.  If too much of this C-style syntax garbage gets added
to Python, I'll be looking elsewhere for a language!

Therefore, you'll find no "sour grapes" here.

Of course, the social ranking, like the single winner are only a guide
-- Guido may freely choose to implement any, all, or none of the syntax
proposals, regardless of their level of support within the programmer
community.  Who knows?  Maybe he'll reveal himself as the MDFL (Mad
Dictator For Life) and decide to implement:

C -> (x, y)

;-)

--
Norman Petry







More information about the Python-list mailing list