On Mon, May 11, 2009 at 12:59 AM, Georg Brandl
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.