[BangPypers] Your favorite Python libraries and frameworks
Pradeep Gowda
pradeep at btbytes.com
Tue Oct 30 04:25:33 CET 2007
On 30-Oct-07, at 7:53 AM, larryt at winfirst.com wrote:
>>
>> On 10/29/07, Kiran Jonnalagadda <jace at pobox.com> wrote:
>>>
>>> On 29-Oct-07, at 8:38 PM, Ramdas S wrote:
>>>
>>>> I've been told that other frameworks (notabley Zope, Pylons and
>>>> TurboGears) are better by their users/developers. That is probably
>>>> true, but I feel that it is better to bet on something that has a
>>>> bigger momentum in terms of users, developers, and developer
>>>> companies.
>>>
>>> Not meaning to start a flamewar, but this may be worth reading for
>>> those who haven't already:
>>>
>>> http://dirtsimple.org/2007/01/where-zope-leads-python-follows.html
>
> But that link doesn't say why it might make sense to actually use zope
> for real projects right now. It also doesn't mention zope.interfaces,
> which is a prime and very current example of zope leading the way.
Zope gets a lot of flack for being old, archaic and what not. But,
when zope started its life as bobo, the object publisher, the other
alternatives in the web development world were cgi and perl!
Zope2 brought through the web publishing - not just allowing non-tech
people to write and publish content, but also, make customisations,
even write new products `through the web`.
To customize zope you needed to use the textbox in your browser,
nothing else....
Anyway, talking about Zope2 is like reminiscing about old cars. There
have been iconic cars which were way ahead of their day and were
successful because of what they did and people still love them :)
Perhaps, if one wants make peace with Zope2, understand that it was
an immensely productive platform for end users, may not be so for a
programmer who walks in the door and starts his editor....
How many programmers love Excel? Very few, right? So, what makes
sense for end users may not be sexy for the programmer. Excel has
functional programming? hah, who cares...
everybody knows excel is for "MBA" types ... ;)
People complain about lack of documentation. I never felt that way.
Maybe thats because I was taught the zope way by colleagues when I
started out and believe me, coming from a short stint in PHP
programming,
Zope was a breath of cool,mint-laced air.
As PJE's article (link above) points out, many of the python
innovations started in Zope.
Zope is one such community which really takes care of its customers
interests and developers investment in it.
It is very rearly that zope and plone make changes which break
existing code, without giving enough time and migration help to the
developer community.
When zope3 was conceived and developed from scratch, they did not
drop Zope2. They invented Five (2+3 get it?). to allow coexistence of
old user/code base and the Brave New World.
Some complained that Zope3 is too much like J2EE and has too much XML
in it, so came along Grok, which tries to "grok" configurable
settings looking at code. Think convention over configuration.
Again, people believed that Zope is a silo with little connection to
the "python" world. Oh, how they are mistaken.
Zope3 takes component reuse and modularity *really* seriously. Zope2
has its own Webserver. Zope3 uses Twisted, the much revered python
network libraries.
Every *single* of Zope3 and even Plone's libraries are now available
as Eggs, which you can use without touching zope. No need to get your
hands dirty there, boy!
Just to put things in perspective, django does not even have an egg
for installation. They have written their own ORM, templating all in
the name of tight integration. Smells a lot like Zope2 in 1990s to
me. People who love django for this reason, should be able empathise
with zope2 people.. (Having said that, I have to disclose that my
current project is on Django, and it is immensely productive.)
Zope3 also believes in WSGI - the future of python web development.
Just yesterday, I was able to rig up a Grok application and a Pylons
application together using Repoze(http://www.repoze.org). (I'll post
a blog entry soon about this). Think of the possibilities.
The kind of functionality available in Zope and plone especially when
it comes to fine grained authentication, content metadata,
internationalisation support, are yet to be seen on other python
framework.
However, the choice is simpler now, because Zope is pushing for a
``Python Ecosystem'' rather than a single do-it-all framework. Once
again they lead the way.
Peace,
Pradeep
More information about the BangPypers
mailing list