[EuroPython] What the heck does "pythonic" mean?
Stephan Richter
stephan.richter at tufts.edu
Wed Apr 13 14:55:31 CEST 2005
On Wednesday 13 April 2005 07:34, Michael Hudson wrote:
> That something like ZCML is necessary to deploy large systems I'm not
> prepared to dispute, but that it (seems to be? currently?) is
> necessary to do even toy development with zope 3 is a serious turn
> off.
>
> When I got to the point in the Zope 3 Book where it says "simply type
> these 70 lines of XML into browser/configure.zcml" I might have thrown
> it out of the window if I wasn't reading it in PDF :):)
Once you will develop longer with Zope 3 you will understand the reasons
better. Once you do configuration in Python it becomes *much* harder to
exchange components and being able to switch out components is considered
very pythonic. ;-) So you have to decide which one the lesser evil is. On the
other hand, Jim has gradually worked on simplifying the usage of ZCML.
> Shane Hathaway put it very neatly in:
>
> http://hathawaymix.org/Weblog/2005-01-26
>
> (especially his comment).
But Shane was disputed by two people, Jim and Gary, intensively working on and
with Zope 3. You should consider their points carefully. Also note that Jim
is working on a new Bobo with which you will be able to write applications
much like Shane suggested; but it is a simplification and does not cover all
our use cases.
ZCML allows Python code to be simple. That means of course that ZCML will have
a lot of the complexity that used to be in Python. If we make ZCML simpler,
we will simply shift complexity back to Python. I guess eventually we will
find the right balance between the two. Personally, I have always argued that
ZCML helps people understand on what's going on. I can just look at the
interfaces and the ZCML and I can see exactly how the frameworks fit and work
together.
Regards,
Stephan
--
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
More information about the EuroPython
mailing list