[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