[Python-ideas] Documenting Python warts on Stack Overflow

Stephen J. Turnbull stephen at xemacs.org
Mon Dec 31 04:10:57 CET 2012


Ryan Macy writes:

 > I'm a young developer (22) that is aspiring to contribute to the python 
 > language and I think another perspective could help the conversation. 
 > What I believe Anataoly is asking for, albeit phrased in a different 
 > manner, is the ability to clearly see what the core issues/needs are in 
 > the language.

Good luck on that.  Just as you write, it is in fact a human ability,
not a collection of facts that can be published.  AFAICS, the core
issues are what block core developers from getting applied work done.
(Or cause them to stumble in process, for that matter.)

The reason for this, based on introspection and watching a few Nobel
prizewinners work, is that people working at that level have an
uncanny ability to *ask* the right questions, and do so recursively.
Of course they're usually really fast and accurate at answering them,
too, but answering smallish research questions is an upperclass
undergrad student[1] skill.  The knack for filtering out inessential
questions and zeroing in on the bottleneck is what makes them great.

The flip side, of course, is that because a core developer is blocked,
he or she is working on it.  So maybe you won't get a chance to make a
big contribution there -- it will be solved by the time you figure out
what to do. ;-)

 > Is there a place that holds the key improvements that the python 
 > language needs, so that we can work to it better? If that's the bug 
 > tracker,

Bingo!

 > is there a method already in place that signals areas that need 
 > improvements or fixes? [I know that there are severity levels, etc :)]

The problem is that "need" is mostly subjective.  In Python there are
several objectifiable criteria, encoded in the venerable Zen of
Python, and more recently in the thread answering Ned Batchelder's
question on what makes a good change to the stdlib.  But if you look
at them, I suspect that you'll come to the same conclusion that I do:
need is defined by what at least some programmers often want to do and
are likely to do imperfectly, even if they do it repeatedly.  That's
"need", and it's dynamic, only imperfectly correlated with the state
of the language.

The only reliable measure of need is what somebody is willing to
provide a high-quality patch for.  Just Do It! :-)

 > [There is] context that I'm missing, which has me chasing PEPs
 > constantly

Well, when you catch one, take it out to lunch.  Spend some time in
conversation with it.  Figure out what the person who wrote it was
thinking, and why. :-)

 > - So I'm definitely able to resonate the with this thread.
 > 
 > I apologize if I'm waay off target.

Not at all.  I just don't think there's a royal road to core
contribution.

The flip side of that is that as far as defining "need" goes, what you
perceive as important is no less important than what Guido does.  It's
just that he has a proven knack for picking questions that others
value too, and for giving answers that untangle the language, as well
as solving a practical problem.  But that doesn't mean you should work
on what Guido thinks is important just because he thinks it's
important.  If you resonate with the need he feels, then you will find
ways to contribute to resolving it.

I haven't seen the word "channel" around here recently, but trying to
channel the core developers on problems you encounter is a good way to
get started.  Try to anticipate what they'll say if you post (or in
response to somebody else's post that interests you).  When conversing
with a PEP, try to figure out what it's going to propose as the
solution before you read it.  Try to figure out what problems it will
need to solve to achieve its goal, etc.

Steve



More information about the Python-ideas mailing list