Python's "only one way to do it" philosophy isn't good?

Terry Reedy tjreedy at
Tue Jun 12 00:40:08 CEST 2007

"Antoon Pardon" <apardon at> wrote in message 
news:slrnf6q9ah.cf9.apardon at
| On 2007-06-09, Terry Reedy <tjreedy at> wrote:
| > For him to imply that Python is anti-flexibility is wrong.  Very 
| > He should look in a mirror.  See below.
| My impression is that python supporters often enough show
| some anti-flexibility attitude.

More so than supporters of most other languages, in particular Scheme?

Here's the situation.  Python is making inroads at MIT, Scheme home turf. 
The co-developer of Scheme, while writing about some other subject, tosses 
in an off-the-wall slam against Python.  Someone asks what we here think. 
I think that the comment is a crock and the slam better directed, for 
instance, at Scheme itself.  Hence 'he should look in a mirror'.

| Yes science is different. The difference is the following. Should
| science only know the Newtonian vectoral mechanics and someone
| would come up with the Lagrangian approach, nobody would protest
| against this new approach by remarking that there should only be
| one obvious approach,

The history of science is a history of innovation and resistance to 
innovation.  Do you have information that the introduction of the 
Lagrangian approach was exceptional?  Do you really think that no college 
student has ever groused about having to learn another approach that is 
only equivalent to what he already knows?

| Yet these kind of remarks are made often enough when someone suggest a
| change to python.

So?  Tim wrote 'There should be one-- and preferably only one --obvious way 
to do it'.  The primary clause is that there should at least one.  The 
secondary clause is that once there is a good and obvious way to do 
something, we take a hard look before adding another.  As it is, there are 
already multiple ways to do many things.  And there are probably at least 
10 suggested innovations for everyone accepted.


More information about the Python-list mailing list