Python as Guido Intended

EP EP at zomething.com
Fri Nov 25 11:30:19 EST 2005


> Should the priority be to enable python's philosophy or should
> it be the priority to limit python to only allow it's philosophy.
> 
> One groups seems to think that python's spirit is not broken
> by allowing things that seem counter to it, as long as people
> can without much trouble, work within that spirit.
> 
> An other group seems to think that any allowance to disgress
> from python's spirit is an assault on it.

This seems to assume a background philosophy of TMTOWTDI

versus 

YWKTMTOWTDIBIPFCEMS = "".join(["Yes we know","TMTOWTDI","But in Python fewer choices equals more simplicity")


    "There should be one-- and preferably only one --obvious way to do it."

    "Although that way may not be obvious at first unless you're Dutch."


Maybe what makes Python most different is its philosophy; I would not argue it is the ultimate philosophy --- I could not embrace a government which held such views --- it is nothing like Democratic --- but the people in Pythonia tend to be fairly nice, and the tax rate is outstandingly low.  Of course that's silly, Python is a tool, not a country.  Python's philosophy, however, seems to run counter to adding a phillips head, flat head, and hex head screwdriver blade to its hammer.

In life and society I hope we embrace a great multiplicity of perspectives and lifestyles.  This, however, is not that.

What is the philosophy?  I'm not the one to answer that, but I do use "import this" for reference, and it seems to answer some of the points in this thread:

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>> 


EP

"Criminy, I didn't realize that drat ternary operator was going to creep in.  Ugh.  Drat, drat, drat!"




More information about the Python-list mailing list