[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