There's a perennial discussion on Reddit about the strengths of Python vs Ruby.
there was mention of WSGI as a web-app standard on Python. here's the quote:
"That's the point, it is a language-wide standard that has been
adopted by the community officialy. It makes it trivial to make a web
application that supports WSGI to run on any server that runs on WSGI.
In Ruby, you look at something like Mongrel and it has to explicitly
add Rails, Camping, Nitro support. In Python, if a server is WSGI,
anything that supports WSGI will run on it. Some frameworks, like
Pylons, have incorporated it throughout the stack to make it trivial
to swap put template systems, ORMs, you name it. Rubyists would do
best to check it out; while it is a very simple standard, it is very
empowering to the web development community. That's why you see so
many frameworks in Python, because frankly they are rather easy to put
together."
Could Ruby benefit from an internal standard like this?
Phil Tomson wrote:
In Ruby, you look at something like Mongrel and it has to explicitly
add Rails, Camping, Nitro support. In Python, if a server is WSGI,
anything that supports WSGI will run on it.
Well, part of that is mindshare. Consider that the Nitro, IOWA authors wrote the Mongrel adapters themselves (for the most part). In this case you could call the Mongrel API the Ruby version of WSGI.
Some frameworks, like
Pylons, have incorporated it throughout the stack to make it trivial
to swap put template systems, ORMs, you name it.
Yeah, that's my (limited) understanding of where WSGI shines. In Ruby, OTOH, there need to exist m*n adapters between m view libraries and n controller libraries. I dunno... big whoop. The adapters are, like, 3 lines of code, and there isn't a heck of a lot of demand for Amrita (as in, not erb) as *is*.
> That's why you see so
many frameworks in Python, because frankly they are rather easy to put
together.
Not true. WSGI arose *because* of the so many frameworks, and the pro-Rails argument that "we don't have to waste time choosing a stack."
Could Ruby benefit from an internal standard like this?
Muh... I dunno. No?
Devin
At the end of the day, the IOWA/Mongrel integration is a trivial thing, and something like WSGI could hardly make it easier than it already is without imposing design decisions on me.
Here it is:
def process(req, res)
Thread.current[:worker] = true
unless handle_file(req, res)
request = Iowa::Request::Mongrel.new(req)
response = Iowa.handleConnection request
::Iowa::InlineClient.new(request,response).print(res)
end
end
That's the core of it. Not hard. IOWA already has an established precedent regarding what a request object looks like, so with something like WSGI, I'd either have to realign the request object expectation to whatever it provided, or I'd have to write a simple Iowa::Request::WSGI just like the Iowa::Request::Mongrel to take the request and apply it to the shape the application expects. And it's really no big deal.
Maybe I'm failing to understand what WSGI really is because right now I don't see how it would help me.
Kirk Haines
···
On Fri, 22 Sep 2006, Devin Mullins wrote:
Well, part of that is mindshare. Consider that the Nitro, IOWA authors wrote the Mongrel adapters themselves (for the most part). In this case you could call the Mongrel API the Ruby version of WSGI.
I think that was exactly Devin's point. (Is that it's so trivial, Ruby
doesn't need such a standard.)
···
On Fri, Sep 22, 2006 at 02:44:32PM +0900, khaines@enigo.com wrote:
On Fri, 22 Sep 2006, Devin Mullins wrote:
>Well, part of that is mindshare. Consider that the Nitro, IOWA authors
>wrote the Mongrel adapters themselves (for the most part). In this case
>you could call the Mongrel API the Ruby version of WSGI.
At the end of the day, the IOWA/Mongrel integration is a trivial thing,
and something like WSGI could hardly make it easier than it already is
without imposing design decisions on me.
Yeah. I was trying to support his point with my example. 
Kirk Haines
···
On Fri, 22 Sep 2006, Logan Capaldo wrote:
At the end of the day, the IOWA/Mongrel integration is a trivial thing,
and something like WSGI could hardly make it easier than it already is
without imposing design decisions on me.
I think that was exactly Devin's point. (Is that it's so trivial, Ruby
doesn't need such a standard.)
>>At the end of the day, the IOWA/Mongrel integration is a trivial thing,
>>and something like WSGI could hardly make it easier than it already is
>>without imposing design decisions on me.
>>
>I think that was exactly Devin's point. (Is that it's so trivial, Ruby
>doesn't need such a standard.)
Yeah. I was trying to support his point with my example. 
I'm glad this whole thread is people agreeing!
···
On Fri, Sep 22, 2006 at 10:46:32PM +0900, khaines@enigo.com wrote:
On Fri, 22 Sep 2006, Logan Capaldo wrote:
Kirk Haines