>>
>> Keys to this: they have to be able to work adequately as separate
>> components, and very well together.  They should all use only freely
>> available components.  Last of all, and this is just something
>> that bothers
>> me: they shouldn't just be copies of the way Language X does
>> something, with the assumption that you have used Language X and would
>> rather read the
>> documentation to original Language X implementation.
>
> I heartily second this last point.  I get concerned when I read posts
> advocating Ruby applications designed to follow a spec designed with
> another language in mind.  Compatibility/interoperability are
> interesting goals in a general sense, but carry certain risks.
>
> There was a lengthy thread on ruby-talk concerning Ruby, XML, and W3C
> specs. By and large, while many people felt adherence to specs made
> certain tasks easier to understand, those specs were not written with
> Ruby in mind, and blind adherence would mean foregoing much of Ruby's
> elegance.  The particular case was the W3C XML DOM. It's a "standard" in
> the general W3C-spec sort of way, and many people are familiar with it,
> but the API just falls flat compared to how one can manipulate XML using
> a Ruby Way API (see REXML).
>
> So, specs like EJB or J2EE or Ant may be the best thing since sliced
> bread for the Java crowd, but they don't reflect a Ruby Way of doing
> certain things.  We should steal the better ideas and then build things
> that play best with Ruby.
>
> James

I agree with all this, too.  There must be some good ideas we can steal
from EJB, but I would definitely not want to see a large resemblance.

In the related thread (Distributed Object Containers) when I mentioned
that I hope in N years that Perl, Ruby, Java, etc. are interoperable to a
large degree, I did have in mind that Ruby could then leverage EJB or
whatever (others have mentioned Swing, I would add CPAN).  However, these
are general goals, and I do believe that a Ruby way can (most likely will)
evolve to handle application-server-related tasks.

But it won't happen overnight; it's a big task.

Gavin