Pythonic way of web-programming
Ian Bicking
ianb at colorstudy.com
Sat Apr 5 03:22:32 EST 2003
I won't answer you point for point, but maybe talk about this
generally. These things have been very much on my mind lately.
There are several options for Python web programming -- far more than
you list, actually, even when you take out the options that aren't being
actively developed. There's many ways to categorize them, but here I
might say:
* Zope, a world of its own. Certainly it could be a point of much
debate, but lots of people don't like Zope, often for the reasons they
do like Python.
* Python in language-neutral or foreign language frameworks (like
Jython/J2EE, or ASP .NET -- Python works fine in pre-.NET ASP too).
* Minimal, i.e., cgi.
* Some from-scratch implementation of a Python web environment. This is
where the diversity is right now.
Zope had its chance at being the canonical Python web framework -- there
was a time when all the focus of using Python for web applications was
towards Zope. It had 100% mindshare. But it's not good at being a
general-purpose platform for web applications, which is why all sorts of
people have created alternatives. And you have to create *something*,
because cgi doesn't cut it, you will want to work on a higher level.
Anyway, that said, we now have all this diversity. Maybe some of it is
called for -- I'd certainly be unhappy if we had unity around an option
I didn't like. But we have a lot of diversity that isn't useful too.
What's the One True Templating Language? I don't know. But I don't
think we need more than four -- there are several valid and useful
different ways to do templating. But there's also a limit.
The same is true in the from-scratch implementations. There are some
valid differences between, say, Webware and Quixote. But there's a
limit to that as well.
Right now, no, there isn't any Right Way to do Python on the web. Zope
might be the closest thing, but there is no consensus. I can't really
figure out what a consensus would be, but I imagine there's at least
some things we can come to consensus on... maybe underlying
infrastructure, or ways we can share code (like making templating
separate from the frameworks). There's still a lot of work to be done
on that path, though.
Ian
More information about the Python-list
mailing list