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