Python's "only one way to do it" philosophy isn't good?
Terry Reedy
tjreedy at udel.edu
Thu Jun 21 20:29:51 EDT 2007
"Douglas Alan" <doug at alum.mit.edu> wrote in message
news:lcfy4ljej2.fsf at gaffa.mit.edu...
| > But why is the ability to abstract syntax good?
|
| It allows the community to develop language features in a modular way
| without having to sully the code base for the language itself.
Anyone can write modules, experimental or otherwise, without touching the
code base for any particular implementation.
For those whose know one of the implementation languages, source code
control systems allow one to do experiments on branches without 'sullying'
the trunk or impeding the development thereof. There are a least a few
experimental branches, and branches of branches, in the main CPython
repository and an unknown number of independent branches out in the
community for either production use or for developing features aimed back
at the core.
One of the goals of the PyPy project was to allow people to experiment with
syntax extensions in Python itself. (But I don't know how easy that is
yet.)
But I think that overall the problem of designing new syntax is more in the
design than the implementation. Anything new has to be usable, readable,
not clash too much with existing style, not introduce ambiguities, and not
move the extended language outside the LL(1) [I believe that is right]
subset of CFLs.
tjr
More information about the Python-list
mailing list