"Mathieu Bouchard" <matju / sympatico.ca> wrote in message
news:Jlq97.4634$9i1.415783 / e420r-atl1.usenetserver.com...

> > Unfortunately, Ruby will most likely have to accept certain limitations
in
> > order to run efficiently on these VM's - this is also what other
languages
> > have been enduring. A direct port could make Ruby much slower than it
needs
> > to be.
>
> What you are saying is that languages should be giving up features until
> they get about as fast as C#. But at the same time that means that all

I'm trying to analyze the situation. I'm not saying what is best.

> But, you know, of the several hundred languages available for the Java
> Runtime Environment (JRE) platform, many are still interpreted and remain
> mostly untouched. I don't know how .NET is so different from JRE that,
> unlike for JRE, all square languages should be fitted in round holes.

If I recall my posting correctly, I believe my conclusion is that you can
isolate features that can be optimized, and support the other features, such
that you loose nothing or very little. (ActivateState did have to change
some language features targeting .Net, I just don't remember what language).
But a very important aspect about program development is the ability to call
components written in other languages - both ways. This is my primary
concern - not speed, although also of interest. You will find difficulty in
cross-language execution with static typedefinitions in a language where you
can just add a function to a live class. That is, you can implement the full
language on either JRE or .Net, but you will not be able to integrate these
features with other languages. You sometimes have to compromize. But it may
be possible to retain all features using dynamic calling. Since JScript has
been ported, this is likely a possibility.

So I had hoped for an open discussion about how we could bring Ruby further.
I am almost certain than only languages that integrates well, will have a
signficant future. And currently, I see .Net as one of the best ways to
achieve this integration, despite my concern about the MS-only.

There is btw. a conference in Firenze, Septemper on language integration.

> > > I maintain the following opinion: writing a good Ruby interpreter
inside
> > > Ruby first, and Ruby in Java second, would be easier than just Ruby in
> > > Java; *and* results would be more incremental; *and* useful byproducts
> > > would come out of it.
> > What good would a Ruby in Ruby be? For understanding and clarification
yes.
>
> Well you know, it's HALF OF THE JOB! (assuming the code is optimized for
> a deep understanding of what is going on).

I must admit that this is exactly what a lot of other languages have done.
And I may be wrong here. Experimentation with new features is probably a
good thing.
If Ruby starts emitting more efficient bytecode, it may even be an efficient
approach (I believe I did mention that - yes I see it below).

> And also most of the C builtins can be rewritten in Ruby at this stage,
> which is that less you have to later write in Java (or C# or OCaml or
> 6809-assembler). MetaRuby already includes some of this.

Yes - thanks to the close correspondence between Ruby and the C-api, this
should not be too difficult.
Now OCaml is in fact written entirely in Caml - and errh assembler. Much
like C.

> > The compiler should plug well with development environemnts, which is
> > also not ideal in Ruby - unless it can be bootstrapped to run on its
> > own compilation running in the native enviroment.
>
> Well, I assume bootstrapping would be used.

In which case it is probably a fine solution.
The job OCaml did certainly was successful.

Mikkel