doug at isotoma.com
Thu Jan 26 11:00:30 CET 2006
Peter Bengtsson wrote:
> I've read your blog and your replies here with great interest.
> The points you make about understanding and progress are very interesting.
> No wonder [some] people think Zope sucks because Acquisition is so
> difficult to grok; but now after having understood its power I feel
> this is one of Zope's best feature. The reason I didn't give up was
> because I had a friend whom I trusted that I persist. If it wasn't for
> him I would probably have avoided zope quite early.
Hi Peter - I knew someone would defend Zope, should have guessed it
would be you :)
I don't think difficulty of grokking is the problem with Acquisition
really. I think it's a good attempt at solving a real problem that
ultimately creates more problems than it solves. The problem
acquisition tries to solve is a real issue - how do you provide
"context" in a web application?
Zope satisfies these requirements using Acquisition. My problem with it
is that it is too promiscuous - your namespace ends up massively
polluted, leading to name collision between multiple products.
I spend a lot of my time working with Zope and this leads to real issues
- only yesterday I had two products that had coincidentally named a
method the same (one as a method one as a PythonScript) leading to
bizarre failures when one acquired the other's version of the method.
Ultimately I think Acquisition is a Glorious Failure - it was a brave
attempt to solve a difficult problem, but it just doesn't scale. Zope
Corp have realised this, and Zope 3 is fundamentally different, using
Adaptation instead of Acquisition to provide a mechanism for object
> I'm wondering Doug, what's your take on zope3 vs. TG?
Zope 3 looks very good - they've fundamentally addressed the core
architectural problems in Zope 2. I seriously dislike the XML
configuration files, which might seem like a minor point but it really
gets on my nerves.
Zope 3 has a head start on the other frameworks like TG, in that there
is a large body of existing code (such as CMF) which can be ported to it
from Zope 2. Lots of that code is very crufty and horrible though, so
how much of an advantage that is depends a lot on the extent of any
rewriting that goes on I guess.
TG is going to be using RuleDispatch instead of Adaptation, which is
going to be really interesting. I have no idea how well that's going to
pan out in actual use.
There have been a lot of complaints about the diversity of web solutions
for Python, as opposed to Ruby where there is just the one, as if
somehow it was a bad thing. It may be confusing for newcomers, but I
can't honestly believe that the genetic diversity of solutions, all able
to take the best of each other's ideas, can be anything other than a
very good thing.
doug at isotoma.com / Isotoma, Open Source Software Consulting
Tel: 020 7620 1446 / Mobile: 07879 423002 / Fax: 020 79006980
Skype: dougwinter / http://www.isotoma.com
Lincoln House, 75 Westminster Bridge Road, London, SE1 7HS
More information about the python-uk