First of all, for those tuning in, the title is just a joke. I'd like to believe we're having a reasonable discussion. Leon has replied with some interesting observations and questions which I think need answers.

I think I sound more dismissive of Rails than I am. It's not that I don't think it's a great idea and direction - it's more a response to, as Leon says, the hype. Rails has one big advantage - it's galvanising the web-application-building Ruby community behind it.

Which is where one should bring up WSGI. WSGI is simply a way to write a Python web applications that will run on the various available application servers (or via CGI, or whatever). WSGI's potential is that it will galvanise the Python (and excluding Zope for the moment) web-application-building community to a single way to write an application. Which isn't all that useful of itself, until you figure in that this allows anyone to write libraries that rely only on WSGI-available information, which can then build an integrated environment much like Rails.

Subway is a potential Rails-competitor, but it uses CherryPy. That may change now that WSGI is solidifying and implementations are available.

Back to Leon's other comments. I think he's got something in terms of SQLObject's column descriptors (when not reading the schema from the database) being useful for versioning. I also think it's useful in terms of database portability - which isn't usually useful for developed-for-self applications, but may make Open Source projects find more potential homes.

MVC? Done how? I truly like the way the code looks in Zope (X)3's object publishing via view adapters. I typically end up doing MVC, with very close interaction between the View and the Controller. Either the View interrogates the Controller for how to build itself or the Controller sends lots of stuff to the View, and that usually means the Controller is controlling the way the View is displaying content too much. Which makes me feel like I've missed something obvious.

I agree with regards to Views being regarded as bastard third-cousins. Except, I like the Cheetah template language more than if I had pure Python available, I think. But in Cheetah's case, one can think of it more like an alternative syntax for the same language unlike, say, Smarty or TAL (or, if you're really unlucky, DTML).