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

Alex Martelli aleax at
Sun Jun 17 02:14:37 CEST 2007

Cousin Stanley <cousinstanley at> wrote:
> > I think the Original Sin in that regard was PL/I: it tried to have all
> > tended to have two or more ways to perform any given task, typically
> > inspired by some of the existing languages, often with the addition of
> > new ones made out of whole cloth.
> Cousin Alex .... 
>   With regards to PL/I a phrase from an old ( 1969 ) song 
>   named "The Night They Drove Old Dixie Down" comes to mind .... 
>     Ya take what you need and ya leave the rest .... 
>   I  really  liked programming in pl/1

I didn't -- been there, hated that.  Each project group ended up
defining (formally or informally) the subset of PL/I it was using -- and
when one had to work with multiple groups, it became yet one more
nightmare to recall which features were in the subset of which group(s).

If there are just 30 "operations", for each of which the language offers
two ways to perform it, that one language becomes over a billion
languages when "subsetted" by picking just one choice for each of the
operations.  Absolutely crazy -- total and utter waste of effort on the
part of every programmer, every group, every compiler author.

PL/1 is basically gone, but its legacy of "take what you need and leave
the rest" is unfortunately alive in other languages that are blind to
the enormous advantages of simplicity and uniformity.


More information about the Python-list mailing list