[Zope3-dev] Re: Re: More thoughts on packaging
Martijn Faassen
faassen at infrae.com
Fri Feb 20 16:49:28 EST 2004
Anthony Baxter wrote:
> As far as the claim that a Python-based system "isn't declarative" -
> well, that's obviously a fault with the current distutils approach,
> not a problem with python itself.
Of course it's possible to write a system that allows you to express
things in a declarative way in Python. Then again, it's uncomfortably
easy to escape from this, which makes it uncomfortably easy to *not*
build a declarative way of configuring things and instead stay stuck
with the current system. This is what happened with distutils (unless
this discussion will result in it being fixed :).
Another issue with declarations in Python is that the only way to
introspect it is when the programmer actually spent time designing and
implementing an introspection API for whatever is declared. An
independent declarative language can be processed and interpreted using
external tools. If the declarative language happens to be expressed in
XML, some of these tools are already there.
> Being in Python has allowed people to put little bits and pieces in
> their setup.py's to do things "a little differently" -- unless you're
> proposing to build something that will be all things to all people,
> you're going to be making a much more limited system than what we have
> now.
A declarative system can point to Python code. Just look at ZCML. :)
> Note that, for instance, RPM's 'spec' format has many possibilities to
> call out to a shell to do things that are "a little bit different", so
> we're not the only ones who've needed this flexibility.
Agreed. It's just a question of what kind of flexibility, the
*perspective* of aiming for a declarative style, and when it's too much
-- the ultimate in flexibility is an empty directory where you can start
writing Python code.
Regards,
Martijn
More information about the Zope3-dev
mailing list