[Zope3-dev] Re: Zope 3 learning curve?

Lennart Regebro lennart@regebro.nu
Tue, 22 Jan 2002 23:31:53 +0100


From: "Ken Manheimer" <klm@zope.com>
> I think that "initial step" is misleading.

Possibly. But it's better than "learning curve", because in many cases there
isn't a curve, really, but steps you have to get over to continue forward.

> People often talk about the
> low first step and then the gargantuan-vertical-cliff second step.

Well, I wouldn't put it like that. Rather for me Zope2, is a whole staircase
of rather small steps that never seems to end.
You can do stuff easily and with little knowledge. But for every step
forward you seem to have to also take a step "upwards", i.e, you have to
learn more about the innards, and read more of the core code.

> I think the crucial difference is going to be due to the component
> architecture's (_exquisitely_) better delineation of the elements of the
> system, and of their responsibilities.  That's going to make it possible
> (if it's done well) to understand a piece of the system without having to
> understand the whole damn thing - and i predict that is going to make all
> the difference.

Exactly. *But*, and this is my point, you need to understand quite a lot of
the architecture to be able to do anything at all, hence the larger first
step. And I'd also like to clarify that I don't think that is a problem.
Instead of 30 minutes with BoringProduct, a couple of hours of tutorial is
still a piece of cake. It's the "what the fuck is going on, this isn't
mentioned in the documentation as far as I can find" 6-hour debug runs that
are frustrating... :-)

> As zope stands, everything's so intertwined that you can't establish a
> solid understanding of one piece without first understanding too many
> other, related pieces.  And you hit the same problem with the related
> pieces!

I actually don't agree about that. I have good knowledge of a lot of parts
of Zope. Still I only just a week or so ago understood what Aqcuisition.Base
does and that I should inherit from it. I still know next to nothing about
the ZPublisher or the ZODB. They could be written in Fortran as far as I
know. :-)

I started doing things with Zope by extending BoringProduct, and not knowing
anything about Zope internals. I managed to in a week or two create a
primitive content management system. The hurdle I had to get over was to
understand how the management tabs work behind the curtains. I also had to
learn about ZCatalog, but that was just a case of reading the docs, so that
hardly counts.

So I don't think todays problem is that everythings intertwined. The problem
is that reading the docs and knowing the API is never enough. I always seem
to end up having to understand what goes on inside.

At least, thats my experience.

> But i may just be raving...-)

No, you are as always right on the spot.