[Python-ideas] Python 3.9.9 - The 'I Have A Dream' Version

Chris Angelico rosuav at gmail.com
Wed Apr 15 13:44:37 CEST 2015


On Wed, Apr 15, 2015 at 6:26 PM, Simon Kennedy <sffjunkie at gmail.com> wrote:
> currently the discussions are occurring in isolation and this is my attempt
> to make some sense of them.

Based on the subject line, I have to first apologize that I may come
off as mean and scary, with a sneer that curdles dairy. But here goes.
Feel free to hate me for saying this. :)

There is a fundamental difficulty with the unification of the
disparate, in that you have to start coping with all sorts of
differences and try to make sense of them *in code*. When, for
instance, you want to unify config handling, what you're saying is
either that every config handler has to devolve to the lowest common
denominator, or else that your unified config handler has to become
the least common multiple. The latter may seem tempting ("you can use
this module to do ANYTHING!"), but you quickly fall foul of the
Inner-Platform Effect.

http://thedailywtf.com/articles/The_Inner-Platform_Effect
https://en.wikipedia.org/wiki/Inner-platform_effect

If you want something to be truly customizable, the best way is to
make it Turing-complete and then let people write code. CPython is an
ultimately-customizable application, and we call its config files
"Python scripts". There's not a lot of point adding another
infinitely-customizable layer on top of that, just for something as
simple as configuration files. Better to allow code to be code.

Several of your proposals have merit, but they should be disentangled
from the ones which will just drag them down.

ChrisA


More information about the Python-ideas mailing list