anomaly

Steven D'Aprano steve+comp.lang.python at pearwood.info
Mon May 11 08:34:26 EDT 2015


On Mon, 11 May 2015 09:39 pm, Antoon Pardon wrote:

> There is no
> a priori reason why we should turn "True" into a keyword and allow
> "int" in the builtins.

Why should there be an *a priori* reason?

There's no a priori reason why I speak English, instead of communicating
through the medium of dance. Nevertheless there are many good, compelling
reasons for speaking English (as well as some reasons that are best
described as historical accidents). Might I be better off if I spoke Latin,
Japanese or Klingon? Perhaps, perhaps not. Those are valid choices too, but
they're not choices I have made.

With programming languages, the designer can take the same route as Pascal
or Java, and define standard functions as keywords that cannot be shadowed
or redefined. Or one can design the language to be like Forth, where there
are no keywords and literally everything can be redefined.

Or one can take a middle-road, where certain syntactic elements, and a very
small number of constant values, are made keywords, and everything else is
free to be redefined.

There's no a priori reason for any of those choices. But there are reasons.


-- 
Steven




More information about the Python-list mailing list