[Info] PEP 308 accepted - new conditional expressions

Terry Reedy tjreedy at udel.edu
Fri Sep 30 21:28:26 EDT 2005


"Dave Benjamin" <ramen at lackingtalent.com> >
> Hooray! After years of arguing over which syntax to use, and finally
> giving up since nobody could agree,

I understand that this has become the local 'politically correct' view, but 
as a participant in the discussion, I know it not true and actively 
deceptive.  The community was prevented from coming to a decision.  There 
was a 'primary' vote with an incumbent, 15 challengers, and several 
write-ins.  But there was no runoff.

As recorded in http://www.python.org/peps/pep-0308.html, the incumbent 
proposal, Guido's favorite from beginning to end,
x if C else y, was tied for 1st in rejections and was only 4th in 
acceptances, being beaten by
(if C: x else: y)    (which was also first in rejections)
C ? x : y
if C then x else y
Among the other proposals also, about 3/4ths had the order C x y.

I think if nothing else, the vote showed that the community pretty strongly 
preferred the order C x y to x C y.  I am pretty sure that a vote then (and 
probably now) on that specific issue would have favored the first.  But 
that idea, along with any runoff among the best exemplars of each order, 
was *rejected*, along with notice that 'unofficial' votes conducted by 
community members would be ignored.

The discussion and decision process was also inhibited by the lack of any 
ground rules as to what would be an acceptible candidate.  So there was 
lots of confusion and lots of time wasted on 'favorite son' candidates that 
had no chance of winning (much as there once was on the first round of 
voting at American presidential nominating conventions).  There was also, 
that I knew of, no definition of success nor a process aimed at success.  I 
doubt that many actually expected the obviously preliminary vote to reach a 
definitive conclusion.

Even in the recent py-dev discussion, Guido declined, when I specifically 
asked, to reveal his 'ballot' of alternatives he was considering.  So what 
were we actually supposed to discuss?  Naturally, there followed irrelevant 
noise posts on impossible alternatives and peripheral issues.  And this 
became a reason for Guido to 'just decide' on his original favorite, no 
explanation offered.
----------

The lesson for me is to spend much less time on Python discussion and much 
more on unfinished projects.  So even if I never use the new syntax, I will 
have gained something ;-)

Terry J. Reedy







More information about the Python-list mailing list