[Tutor] web programming tutorials?
cbc at unc.edu
Sat Apr 19 00:50:32 CEST 2008
On 4/18/2008 4:00 PM, Monika Jisswel wrote:
> Ok but I still need more votes for zope to be convinced,
Well, arguing about what is the best python web framework is kind of
fruitless. Everybody has an opinion. But no one is qualified to
pronounce a comparison on all of them. The "votes" you would get would
be reflective of the number of devotees of particular frameworks.
And not all frameworks are comparable. They have all sorts of niches
from simple to advanced covering different use cases. Heck, Zope 2 isn't
even a framework. It's an application server. And Zope 3 isn't even a
framework. It's a component architecture. And Plone isn't even a
framework. It's a CMS product.
Experience is your guide. Experience from others: you look at who is
using what to solve your *use case*. And then experience from yourself:
you evaluate the options for your use case by using them for yourself.
There is some old Python saw I think attributed to GVR that goes
something like, "Why would anyone learn anyone else's Python web
framework when it is so easy to write your own Python web framework?"
And of course the answer is, to get to the other side.
Your question twofold. First, "What's best?" And I would have to ask,
"Best what?" Then, "Which is most used, Zope or ikaaro?" And the answer
would be Zope by a mile. But possibly only because a lot of people
haven't tried ikaaro and Zope has been around about ten years longer
with a huge accumulated mind-share.
> Just in case Zope won the majority of the voices ... How much time would it
> take one to learn & become productive in zope ?
If you have to ask... (you can't afford).
It depends on what you want to do. The base use case for Zope 2 has one
of the lowest barriers to entry of any web application server ever. The
trouble is learning enough to extend that base use case to your use
case. Then the learning curve can be very steep. Whole frameworks on top
of Zope have been built for that reason. Which is why people head for
simpler web frameworks for other use cases.
I find that the complexity and learning curve of a technology *may* have
some relation to its power and flexibility. Or not. In the case of Zope,
it is definitely related to *stuff I don't have to build that I want in
order to be productive.* That is, to get to the other side. When I look
at a lot of other web technologies, they spend most of their learning
curve showing you how to build things that already come pre-built in Zope.
That alone is very much in keeping with the Zen of Python in a
"batteries included" kind of way. And these things are usually built the
right way in Zope by people much wiser than me and in ways other
technologies only borrow from when they get wise enough themselves to
borrow from Zope. It's like Python in that I spend less time programming
and more time just getting things done. But like the Python Standard
Library, you don't learn it in a week. You learn it bit by bit.
And then there's the stuff in Zope the other technologies never even get
around showing you how to build, like awesome super-fine-grained
easily-extensible security done right and awesome super-flexible
easily-extensible workflow done right. Stuff that come "out of the box"
with Zope would often be considered some very advanced cutting edge
application in some other mere web framework. You may not need these
things. Lesser web frameworky kinda thingies have their sweet spot use
cases which only require a certain amount of functionality that you
might be able to get your head around in a shorter amount of time.
But if you have to ask why Zope, you probably should not get into it.
office: 332 Chapman Hall phone: (919) 599-3530
mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599
More information about the Tutor