Thanks, Jim, for your responses!
These thoughts from you deserve a larger readership than this thread
I think I will restart thinking on this from scratch.
Thanks, again.


On Sun, Sep 7, 2014 at 8:12 PM, Jim Fulton <> wrote:

> On Sun, Sep 7, 2014 at 4:44 AM, Milind Khadilkar <>
> wrote:
> > Thanks, Thierry.
> > I think the real problem with ZCA and ZCML is "bad press". We did not
> face
> > any ZCML problem when we worked on the Zope3 projects. It was later,
> > thankfully, that we came across the negative opinion. ZCA did require a
> > mindset change for some, but more often than not it has helped them in
> their
> > future work on other platforms too.
> > But that was 10 years ago... Don't know about now.
> I'm proud of the ZCA in many ways, but:
> - ZCA was designed for problems that most people don't or shouldn't have,
>   which is making a complex application pluggable.
>   If your application is complex, that's a problem
> - In the Zope 3 project, we used the CA way more than we should
>   have. Initially, this was to prove that we could.  Once we were
>   convinced that every (damn) thing could be pluggable we should
>   have stopped and simplified, using the ZCA only where needed.
>   Instead, we'd established a culture of crazy levels of indirection.
> - Outrageous indirection in the base system made starting new projects
>   either super difficult, an exercise in cargo-cult-programming, or both.
>   I've come to the conclusion that any framework that requires or
>   encourages its users to use project-templates or project-setup
>   wizards isn't something I want to use.
> I stopped using Zope 3 several years ago when I realized that the
> weight of the framework wasn't justified by it's benefits, at least for
> me.
> I've decided that I'd rather use decoupled frameworks that, ideally,
> are simple to learn and use individually.  That's why I use bobo now,
> A more conventional choice along the same
> lines would be Flask, although I think bobo is simpler. (Of course, I'm
> biased. :)
> I still use the ZCA, especially zope.event, but in a wildly lighter-weight
> fashion than I did in Zope 3.
> Part of the reason I prefer simpler server frameworks today is that
> Web applications are far more client centered today than they were
> when I worked on Zope 2 and even Zope 3.  Today, for applications
> (as opposed to content *sites*), UI logic, including templating, mostly
> happens on the client, and web servers are largely REST/RPC/Database
> servers.
> Jim
> P.S. If you find the ZCA interesting, you should check out Scala and it's
>        implicits and type-level programming. It does many of the same
>        things as the ZCA at compile time. It's crazy beautiful and evil all
>        at the same time. :)
> --
> Jim Fulton
Zope3-users mailing list

Reply via email to