Which Python web framework is most like Ruby on Rails?

Mike Meyer mwm at mired.org
Fri Dec 16 00:46:28 EST 2005


aleax at mail.comcast.net (Alex Martelli) writes:
> Robert Kern <robert.kern at gmail.com> wrote:
>    ...
>> Picking RoR because you want to do the project in Ruby makes sense.
>> Picking Ruby because it only has one web framework is as silly as picking
>> one Python web framework at random. Just because RoR is the only Ruby web
>> framework around doesn't mean it's suitable for every project.
> If you claim there's a web project that's unfeasible to do in Ruby,
> you'd better come up with a strong example.  If you're making no such
> claim, which would be counter to the claims of the Ruby community, then
> there aren't gonna be any web projects unfeasible with Rails, either.

There's a difference between "feasible" and "suitable". The claim that
everything is feasible with RoR is trivially true because Ruby - and
hence RoR - is presumably turing complete. But this claim is
uninteresting.

The *interesting* claim is "RoR is suitable for all web projects."
That's not trivially true. My experience with other web platforms -
both built around Python and not - is that this claim has very much in
common with the claim "X is suitable for all programming projects",
for some programming language X. I don't believe such a programming
language exists (though proving that is well-nigh impossible), and I'm
pretty confident that such a web platform doesn't exist, though the
problem space hasn't existed for long enough to be sure.

Of course, I don't know RoR. If you've got a pointer to a discussion
of the kinds of things RoR is good for, I'd appreciate it. Googling
turns up tutorials, and that's all.

> The multiplicity of frameworks in Python obviously makes the situation
> very different: there might well be projects for which Python's quite
> suitable IF a fairy godmother pointed you to just the right framework...
> but lacking a fairy godmother, you're out of luck.

I did a fairly thorough investigation of web frameworks that let us
write Python (we didn't care what the framework was written in; merely
that it interfaced with Python) for one of the systems I've built this
year. I wouldn't call the evaluation of web frameworks a problem - we
met our schedules, and the tool evaluation phase was by *far* the
shortest phase in the project, taking less than a week. Most of the
evaluations were easy - read the description of the framework, and
decide that we're working outside the problem space it's desinged
for. It certainly wasn't wasted time - I found a tool that I hadn't
heard of previously that was nearly perfectly suited to the job at
hand.

> To put it another way: one reason I love Python is that I strongly
> subscribe to the idea that there should preferably be only one obvious
> way to do something.  Unfortunately, this principle is very badly broken
> by the multiplicity of Python web frameworks.

The problem is that "building a web site" is a single "something" in
the same way that "writing a computer program" is a single
"something". Each represents a wide range of different problems, and
the obvious way to do one of those something may not be the obvious
way to do another of them.

        <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list