Python Warts: The where, when, how, and why of a PyWart.


R

Rick Johnson

============================================================
NOTE:
============================================================
This thread is actually an extension (of sorts) to a thread
started by "Anatoly tecktonik" back in December 2012; posted on
the python-ideas mailing list; titled: "Documenting Python
warts on Stack Overflow".

I don't feel that python-ideas was the proper location to
discuss this issue (and neither did the BDFL) so i am moving it
over here for extended discussion. This message started out as
a private email to anatoly, however, i decided the entire
community needs to discuss this topic so i am posting it
verbatim.
============================================================

Anatoly, I've seen your posts on python-ideas regarding this issue and wanted to
inquire as to your progress so far. Also, you should not be surprised that many
in the Python community do not want a searchable list of warts available; which
is evident by their knee-jerk diversionary tactics of fighting over the
semantics of:

"What is a wart?" -> blah blah blah
"What is not a wart?" -> blah blah blah

What they fail to understand is that such a list will actually /improve/ the
language.

But let's not fool ourselves, of /course/ the word "wart" is subjective! Think
of a mother who gives birth to the worlds wartiest baby; she will immediately
ignore the physical warts and only see the beauty within. That's a necessary
coping mechanism hard-wired into the brain of all mothers, it is vital that a
mother raise her offspring regardless of the babies physical appearance.

But for software developers it's nothing more than hiding your head in the sand.
Sure, we cannot allow ourselves to wallow in minutiae, however, we also MUST NOT
allow ourselves to ignore the brittle foundation that supports this mammoth
structure we call Python; lest it come crashing down around us!

Like you, i understand that we cannot improve a language until we understand the
flaws of the language. Documenting Python Warts are a step in the correct
direction. But before we can start documenting warts we need to find a proper
location for them, because if we don't find a highly visible location for them,
then we will most likely just waste our time.

For some time i have documenting the warts on python-list using the pre-fix:
"PyWart: {Description Here}". And, to be fair, i must admit that my execution of
the warts are not as "professionally structured" as a PEP. However, I'm not
convinced that they /need/ to be as structured as a PEP! To much time worrying
about PyWart structure distracts from the wart we are intending to cut off! We
are not writing feature request -- which justify such structured and detailed
explanations, no, we are merely exposing the weaknesses that inject
multiplicity, inconsistency, and asininity into our minds WHILST we write code,
therefore, /distracting/ us from the problem at hand!

The point of PyWarts is:

"""To document the warts of the language whilst
simultaneously allowing community members to post visible
replies, rejections, or support."""

The only place better than posting on python-list would be to create *another*
list called python-warts -- however, i am not a fan of multiplicity, and i feel
/another/ list would just be too confusing. That is why i employ the "PyWarts:"
title prefix.

============================================================
Reasons for posting warts on python-list:
============================================================

1. python-list will most likely exist as long as python does, or longer. No need
to worry about external sites becoming extinct (f.e. Stack Overflow).

2. python-list is visible to all members of the community: from the BDFL down to
the newest of noob (even though we are unlikely to get any input from GvR
outside of his comfort zone over at python-ideas and py-dev!).

3. A public mailing list allows /anyone/ to post support or rejections of the
wart, thereby validating or invalidating the wart.

4. By engaging in public conversation on these issues, we are maintaining a real
sense of community between all members; regardless of any "pecking orders".

5. But most importantly: Anyone can boast about Python's TIOBE score, or
whatever positive attribute of the language they like, but it takes real guts
(and insight) to admit to the warts.

You cannot improve any system by failing to recognize the negative traits
inherent in that system!

PS: The CAPTCHA is "rectal"; coincidence?
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top