[Zope-dev] Re: Why are ZClasses Dead
Martin Aspeli
optilude at gmx.net
Wed Apr 18 20:15:32 EDT 2007
Christopher Lozinski wrote:
> 1. There is no demand for a through the web development environment that
> works.
> I just don't believe that.
There is demand for TTW *customisation*, as we have in CMF/Plone with
the portal_skins mechanism, for example. Developing entire systems
through a web browser is a little daft. There are so many tools (decent
editors, grep, subversion) that are hugely important to development that
simply have no equivalent in the browser. The rest of the world does not
develop in a web browser, and so Zope would always have to face an
uphill struggle if it were to be based solely on through-the-web
programming.
From Jim's descriptions earlier, think of the history of Zope. Zope
with TTW programming was a kind of extensible platform. It made sense
when you wanted to let power-users program their own mini-applications
inside a web server they had access to. People don't do that so much
today, because the idea of what a web application is and who uses it
have changed. But in any case, what you're trying to achieve sounds much
more like something where you want to be the developer and you want the
users to have rather a different conceptualisation of the system.
> 3. There is no one to maintain ZClasses
> Again not true, I need to do it for my own interests. I am at the
> point where I want to upgrade ZClasses.
I think most people who did have old ZClasses based code have worked out
how hard it'd be to make them work properly and decided it was less work
to support an older Zope platform or re-write their application.
> 4. ZClasses is a single user development environment.
> That is right, and I am a single user developer. Part time at that, I
> recruit the rest of the time. And I am looking for some good python
> developers if you are interested. The only reason I can do both jobs is
> that ZClasses allow me to develop my applications very fast.
Have you looked at Grok?
> 5. You have to do everything in Python Classes on the file system.
> That is the right way to do things.
> Dogma has its place, but I have long since left organized religion. OUCH!
It's not dogma, it's experience. Remember, we started at the TTW end.
There's a reason why people are not yearning for the good old days of
TTW programming. :)
> 6. We are moving ZClasses out of the core.
> Makes sense to me.
>
> AND HERE IS THE REAL ISSUE I THINK
> 7. Because of the way Zope is written, you just cannot do ZClasses
> "right". You would have to change zope, and break lots of things.
> I think that is the core reason that some people say ZClasses are
> dead. I am just starting to understand it. I have been digging into
> the core of Zope. I keep excavating lower than I have ever excavated
> before. I would like to make a tree of classes, just like in the
> smalltalk browsers. Zope Products manager or whatever it is called does
> not like that. I would like a ZClass to have a subobject for every
> instance variable, and for that instance variable to say which role can
> read, and write it, independent of where you are in the ZODB tree. Not
> quite how Zope permissions work. So I think the structure of Zope
> prevents ZClasses from working correctly. Which is why ZClasses needs
> to die. Is that correct?
>
> Because to change the core of Zope is way too heretical. Better for
> ZClasses to die, than to change the core of Zope 2.
Probably. I'd rather you didn't destabilise the platform I'm using for a
feature that very, very few people seem to want and many people who are
experienced enough to make a judgement have decided is undesirable.
> Anyhow I would be grateful if any of the ZClasses-are-dead community
> would be more specific. Which reason makes you think that ZClasses are
> dead?
I'm not knowledgeable enough about ZClasses to point out specific
problems with them (though see the link Max posted), but there are
really two much bigger issues: (1) TTW programming - we've been there,
done that, moved on. TTW has its place, but for customisation and
patching, not ground-up development. (2) If ZClasses have been declared
dead, development will continue apace in a different direction. Maybe
you make it work tomorrow, and we break it again the day after, because
our priorities are different.
I can understand it if you have old applications that you are struggling
to maintain because e.g. security fixes aren't being backported to older
releases and you can't upgrade. However, if you're starting with
something new, well... why not see if there is something in the
collective wisdom of those who perhaps used to use Zclasses and have now
changed their minds?
Martin
More information about the Zope-Dev
mailing list