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

Alex Martelli aleax at
Sat Jun 16 15:06:34 CEST 2007

Steven D'Aprano <steve at> wrote:
> > perception that, at their roots, Scheme, C and Python share one
> > philosophical underpinning (one that's extremely rare among programming
> > languages as a whole) -- an appreciation of SIMPLICITY AND UNIFORMITY as
> > language characteristics.
> Out of curiosity, what do you consider some of the worst offenders as far
> as overly complex and inconsistent languages go, and why?

I think the Original Sin in that regard was PL/I: it tried to have all
the "cool features" of the three widespread languages of the time,
Cobol, Algol _and_ Fortran (and then some), because it aimed to replace
all three and become the "one programming language".  As a result, it
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.

PL/I (mostly in various subset and "extended subset" forms) was widely
used in the implementation of Multics, and I believe that the statement
in the "Spirit of C" was at least partly inspired by that experience
(just like "Unix" was originally intended as a pun on "Multics"
underscoring the drastically simpler philosophy of the new OS).


More information about the Python-list mailing list