Is Python the Esperanto of programming languages?

Alex Martelli aleax at
Sat Mar 22 09:31:07 CET 2003

Isaac To wrote:
> The contextual information is still there in inflected languages, so the
> first part of above makes inflection an unnecessary cruft (and of course,
> even more for agreement).  What makes it "something I hate" is the latter
> part.  It forces the speaker to consciously reveal irrelevant information.

Interesting parallel wrt Python vs languages with mandatory declarations;
the latter also "force the programmer to reveal [declare]" information they
may deem irrelevant to the working of their program.

> (You'd say, but the listener might think that it's relevant!  But that's
> not the point: if the speaker can expect that, he will speak in a way that
> the listener is given the information.)

The parallel is weaker here -- it might be better with languages with
optional declarations such as Dylan, where the the programmer "reveals"
just the information he or she wants to "reveal" (declare).

As to the usefulness or otherwise of inflections and concordances, hmmm,
well...  Even though the languages I speak best are both inflected and do
require some concordance, there are enough differences that the kind of
irrelevant information required to be revealed is sometimes very
different.  E.g., in Italian, I can say "ha preso la sua borsa" without
reflecting at all on whether the subject is male or female, and on whether
the owner of the bag is -- in English I can't, I have to know whether to 
say "he took his bag", "he took her bag". "she took his bag", or "she
took her bag" (in Italian, I might specify if necessary to make myself
clear -- "lei ha preso la borsa di lui" to mean "she took his bag" -- but
laziness, hurry and the lack of grammatical requirement may often push
me towards using the simplest, gender-ambiguous equivalent anyway).  And
viceversa, in English I can exclaim "Beatiful!" without having to reflect
on whether whatever I find beautiful is grammatically masculine or
feminine -- in Italian I can't, I'd have to say "Bella!" of a dawn
("alba", grammatically feminine) but "Bello!" of a sunset ("tramonto",
grammatically masculine).  Overall I think these requirements and
concordances serve mostly as a trap for non-native speakers and thus
would heartily agree with Isaac -- were we designing an artificial
auxiliary language for human speech -- to drop grammatical gender
(using some explicit particle or word to distinguish male from female
in the rare occasions where that's useful).

I'm not quite as sure about verb tenses and quantities, because my
experience in different usages for them between languages is more
limited.  But where it comes (e.g. "furniture" is arbitrarily deemed
to be singular -- in Italian we have "mobili", plural, "furniture",
and "mobile", singular, "one piece of furniture"; or "people", a
singular, often used as if it was the plural of "person"; etc), it
does often feel artificial and arbitrary more than it feels useful
in communication.  So, on limited experience and general principles,
making inflections optional would feel reasonable to me.


More information about the Python-list mailing list