Is Python the Esperanto of programming languages?

Isaac To kkto at csis.hku.hk
Sun Mar 23 00:43:05 EST 2003


>>>>> "Martin" == Martin Christensen <knightsofspamalot-factotum at gvdnet.dk> writes:

    Martin> talking about both 'then' and 'now' in a tenseless language
    Martin> would, as far as I can see, require that context be switched
    Martin> explicitly, i.e. 'now I'm talking about the past', and 'now I'm
    Martin> talking about the present'. So there is definitely a price to
    Martin> pay for the grammatical simplicity that tenseless languages buy.

Hm... the "now I'm talking the past" is something that you mean, but not
necessarily the thing you say.  It is there even in inflected language.
E.g., in English you can say something like "Now", "then", "back then",
etc., to indicate a switch of time frame.  The presence of tense does not
make it unnecessity to speak them explicitly.  Until you know you get the
listener's attention that you are talking about multiple time frames and
will use tense to denote time, you cannot use tense as your only indication
of time frame---lest nobody understands your speech.  E.g., if you say

  The economy was good _a few years back_.  _Now_ it is horrible.  _In the
  past_ we didn't need to count the money.  _Nowadays_ we try to think
  before we spend.  _Back then_ we were used to leave our car unattended.
  _Now_ we afraid that it gets stolen even if we lock it in place.

you are quite sure that any listener understands what you mean.  Try to
remove every little words that indicate time frame explicitly (now, back
then, in the past, etc), and see it for yourselves that the sentence becomes
so confusing that nobody knows what you mean.  In fact, even if you just
have the first two sentences, and just leave out the "Now", the listener
probably will worry whether he heard it wrongly (you mean "it was
horrible"?)---even though the resulting sentence (after changing "is" to
"was") has illogical semantics!

As a final exercise, see what will happen if you just turn all the verbs
above to present tense.  Can you still understand it completely?  I bet so.
And it is the form in which Chinese regularly speaks in.

    Martin> Moreover, in constructed languages, operating with even quite
    Martin> complex tenses can be very easy. I realise that it's not always
    Martin> so (heavens forbid that I should ever need to learn Italian!
    Martin> :-)), but with constructed languages, I cannot see how it would
    Martin> be a problem.

Tense is redundant because you can express them using separated words and
then "compressed" the result by following context; and because you will do
that anyway even when you have tenses.  (Similar to braces vs. indentations
in programs! :p) But such redundancy does not make it a hated feature for
me.  The problem is that I have to think about it in every sentence that I
speak, and the listener must catch every tense change that I made---although
most of the time there is none.  (Luckily, in C++ I can still drop the
braces when what I need is just to enclose one sentence. :p)

So the mere *existence* of tense is enough to make me dislike Esperanto.  It
doesn't really matter whether it is simple or complex.

Regards,
Isaac.




More information about the Python-list mailing list