Christian Theune wrote:
Why? Because we keep changing stuff and don't tell people in VERY LARGE
LETTERS about it.

Actually, you highlighted the wrong bit, the important bit is:


Using Zope 3, and Zope 2 since the Zope 3 stuff started getting merged in is like trying to see the bottom of a lake when boats are continuously churning up the silt as they go past.

It's the churn that's the killer...

Please note, I'm not saying this change is bad or that people should stop introducing new features, I'm just pointing out that change means that anyone exposed to change has to re-learn stuff.

Now, my judgement call on all this is that not enough attention is being given to this "re-learning" overhead. Tres highlighted the extreme end of this where spellings and names are changed almost for the sake of it.

For me, the irony is that when Zope 2's development process was at its worst, this problem was at its best as there was so little change, enabling people to gather more knowledge without having to stop to re-learn their old knowledge.

Sure, having to do:

to_change = {}
if obj.hasProperty(x):

...and remembering that manage_editProperties is BAD isn't that pretty, but it's been stable for so long that I can write it from memory now, and that's a big win.

So, for me, it would be great if developers would take more time to weigh up the "what does this new feature or refactoring bring" against the "how much of a PITA is it going to be for everyone else to relearn this"...



Simplistix - Content Management, Zope & Python Consulting
Zope3-dev mailing list

Reply via email to