[Python-ideas] Default arguments in Python - the return

Stephen J. Turnbull stephen at xemacs.org
Mon May 11 10:57:49 CEST 2009


 > On Mon, May 11, 2009 at 12:59 AM, Georg Brandl <g.brandl at gmx.net> wrote:

 > > The problem is that people whose proposal immediately meets
 > > negative reactions usually feel put down no matter what exactly
 > > you say to them.  If there was a polite way of saying "This will
 > > not change, please don't waste more of our time with this
 > > discussion." that still gets the point across, I would be very
 > > grateful.

I thought that the way to do that is to say "This proposal is
un-Pythonic".[1]

Now, a claim that something is "un-Pythonic" is basically the end of
discussion, since in the end it's a claim that the BDFL would reject
it, not something based entirely on "objective criteria".  Even the
BDFL sometimes doesn't know what's Pythonic until he sees it!  So a
bare claim of "un-Pythonic" is borrowing the BDFL's authority, which
should be done very cautiously.

IMO, the "problem" arose here because Tennessee went outside of
discussing the idea on its merits.  Rather, he wrote "the current
situation seems un-Pythonic," but didn't point to violations of any of
the usual criteria.  OTOH, Steven did discuss the idea on its Pythonic
merits, showing that it arguably violates at least three of the tenets
in the Zen of Python.

In turn, Steven could have left well-enough alone and avoided
explicitly pointing out that, therefore, Tennessee doesn't seem to
understand what "Pythonic" is.  FWIW, early in my participation in
Python-Dev I was told, forcefully, that I wasn't qualified to judge
Pythonicity.  That statement was (and is) true, and being told off was
a very helpful experience for me.  How and when to say it is another
matter, but avoiding it entirely doesn't serve the individual or the
community IMO.

Note that this whole argument does not apply to terms like "natural,"
"intuitive," "readable," etc., only to the pivotal term "Pythonic".
The others are matters of individual opinion.  AIUI, "Pythonic" is a
matter of *the BDFL's* opinion (if it comes down to that, and
sometimes it does).


Footnotes: 
[1]  If it's a fundamental conceptual problem.  "This proposal is
incompatible" can be used if it's a matter of violating the language
definition according to the language reference and any relevant PEPs.




More information about the Python-ideas mailing list