Dijkstra on Python

brueckd at tbye.com brueckd at tbye.com
Tue Aug 13 11:31:59 EDT 2002


On Tue, 13 Aug 2002, James J. Besemer wrote:

> > I'm sorry, chief, but you are seriously missing the point here.
> >
> > First of all, the word "always" is not part of the motto, although you
> > seem to be arguing under the premise that it is.  Try importing "this"
> > for the canonical (I suppose) version of the statement: "There should
> > be one-- and preferably only one --obvious way to do it."
> >
> > When Pythonistas say "there should be only one obvious way to do it,"
> > we are not saying, "this is how Python is."  We are saying, "this is
> > what our programming philosophy is."
> 
> I hear what you're saying.  To hold it up as an ideal is one thing.
> But  the ideal seems so far from reality that it really strikes me as
> somewhat ridiculous when somebody uses the slogan.
> 
> And not all people on this list who echo the slogan seem to take it
> the way you say.  Mr Hogg's reply seems to include a stronger
> interpretation (everybody thinks of the same solution first).
> And I've gotten in arguments here where somebody maintained
> that Pythonistas' productivity materially suffered if anybody's code
> strayed even in the most insignificant fashion from nits in PEP 8
> (the overriding "clarity" escape clause notwithstanding).

I don't take that saying too literally but just as a peek into a language
designer's general philosophy. It applies less and less as you move
farther up the chain from implementation to design to architecture.

For example, it obviously doesn't mean that in Python there's only one
obvious way to build a GUI or create a distributed messaging system.
Instead it applies to that final step of translating pseudocode/ideas into
Python code, it's the notion that that step is hopefully as painless,
straightforward, and unambiguous as possible. This ties into the common
experience that if you don't know how to express something in Python, your
best guess is often right. :-)

-Dave





More information about the Python-list mailing list