Jeff Shell wrote:
Why design a language at all?
We already did, and it's a BASIC-like language, so now we reap the
consequences. Some of the consequences are:
1. If you stick to the established directives, you express repetitive,
low level information that really needs to be represented in a higher
2. If you invent your own directives, you make it harder for people to
figure out what low level configuration is occurring.
I see two ways to fix this situation:
1. Write tools for inspecting and searching low level configuration. If
the tools are good enough, we can feel free to write any directives we like.
2. Drop ZCML and configure in Python.
Solution #2 is not the subject of this thread, so let's not discuss it
here. Yes, I know it's already possible, but it's against the Zope
convention, and convention is important.
Let Python be the language. Let ZCML exist to
do the final step of loading/registering registerable objects in a
predictable manner, and to provide the few things that we don't want
to pollute our (or others) Python code with, like security
You're aware of the DRY principle, right? ZCML is repetitive, and
repetitive is wrong. The primary solution to repetitive code is to move
to a higher level of expression.
Zope3-dev mailing list