[Web-SIG] Re: Just lost another one to Rails
faassen at infrae.com
Wed Apr 13 15:05:18 CEST 2005
Bill Janssen wrote:
>>The minimal Zope 3 code is a page template and a few lines of ZCML in a
>>Python package with an empty __init__.py to hook up a new view to an
>>existing object (say, a folder). There's no Python code *at all*
>>From my point of view, that's the problem. I don't want to write in
> some cumbersome and buggy XML format (which is what I'm guessing ZCML
> is) when I could be writing clean Python code.
Buggy? I don't think ZCML is buggy. Where's that coming from?
For some tasks Python is *not* the ideal language. I've seen the way we
glue up components in Zope 2; either stuff is stored in inaccessible
ZODB based databases configured through a lot of bad web user
interfaces, or you see a lot of grotty Python code which hacks together
component configuration. A domain specific language which does this and
only this is a massive improvement. Just the ability to *think* about
this problem separately helps. We *weren't* writing clean Python code.
I've seen this problem occur over and over in Zope 2 projects.
I see this attitude towards domain specific languages all across the
python world. People don't like XML document formats either, as they can
just use clean, simple, Python datastructures. And lose
interoperability, accessibility by a host of programmers that *don't*
know your codebase, and code yourself onto an island.
In the mean time, in the world of HTML templating, we see a lot more
agreement that sometimes a domain specific language is useful. People
generally don't want to be producing all their HTML from Python
functions. I've seen far less complaints about ZPT being cumbersome and
Possibly there are alternatives to a separate domain specific language
in Python that are still clean and maintainable. Can you give me an
example of a community of Python developers that has been doing this
That's not say ZCML as it stands doesn't have some didactic/learning
curve issues. But to reject this out of hand just like that is a bit too
easy, I think.
More information about the Web-SIG