Python's annoyance.

Jive someone at microsoft.com
Wed Nov 24 15:28:12 EST 2004


Your message showed up just as I finished typing my own screen.  Yours is
better, but having put all that wear and tear on my fingerprints, I'm going
to post mine anyway.  So there.

"Steven Bethard" <steven.bethard at gmail.com> wrote in message
news:<_V4pd.386875$wV.330416 at attbi_s54>...
>
> While I'm not a fan of the decorator syntax or the $syntax in
> string.Template, you're not forced to use either of these:
>

I don't know anything about the specific features you are discussing, but in
general, "You aren't forced to use it," is not a sound argument for
difficult features, or feature creep in general.  Why?  Because frequently
you ARE forced to use it!

Firstly, a novice does not know which bits he would best skip over.  While
not literally forced to use a feature, he does not know he probably should
not.  If there are pitfalls, he is at the mercy of whatever learning
material he is using to keep him from stepping in them.  Better not to dig
the pits in the first place.

Secondly, in the the real world, one seldom has the luxury of writing code
from scratch.  If I need to repair, augment, or integrate with existing
code, I am indeed FORCED to deal with whatever difficulties and obscurities
it may present.

One of Python's big selling points is its clarity and ease of use.   Okay,
that's two selling points.  I am not arguing against improving
functionality.  I do believe that in the future the Python wranglers would
do well to be more circumspect when adding features.  Generators are pretty
cool, but weren't there more general constructs that might have been added
instead?  And why is the syntax so utterly inscrutible?  Something that
looks like a function should act like a function, and vice versa.  Why do I
have to read the body of the, uh, thing, in order to determine that it even
*is* a generator rather than a function?  Someone who does not know that
generators even exist, and specifically does not know about the magic
properties of the world "yield", would be thoroughly and hopelessly
confused.  He would be hard pressed to figure it out from the source code.





More information about the Python-list mailing list