Hi.

I'm just a lurker here with no vested interest in Parrot, but I'd like
to drop in my 2 cents about the issue at hand and the direction of the
Parrot project anyway.

On Jan 31, 3:30 pm, jerry gay <[email protected]> wrote:
> the concern with parrot supporting the new nqp is that any tools we
> write using nqp can be easily ported to any other vm. however
> altruistic, portability from parrot to other backends is not currently
> one of parrot's goals. in fact, chromatic, myself, and others believe
> it may be harmful to parrot's future to support portability of
> nqp-based parrot tools to other backends. parrot is simply not in a
> position to compete with more mature virtual machines yet, and the
> risk that the new nqp's portability poses is significant.

Portability is a by-product of modular design, and I don't agree with
the philosophy that choosing a non-modular design to facilitate vendor-
lockin is ok as long as it's the 'good guys' who do it; look at GCC to
see what happens to a codebase if such an approach is taken.

Also, I don't really see a problem with Rakudo - Parrot's main
'customer' - supporting multiple backends: Because of the semantic
mismatch of the Perl6 object-model and the object-models provided by
other VMs like the JVM or CLR, you'll always need a compatibility
layer on these backends. If the Lorito initiative leads to an
incorporation of 6model, Parrot will have a clear advantage over at
least these competitors.

I also think that it's quite possible for Parrot to achieve it's long-
term goals:
Look at the performance of Ruby, Python, Javascript and Lua,
respectively their fastest implementations (ie JRuby, PyPy, V8 and
LuaJIT):

    
http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php?luajit=on&v8=on&pypy=on&jruby=on&calc=chart

You'll see that PyPy and JRuby are orders of magnitudes slower that
LuaJIT and V8, and there are conving arguments why PyPy (eg
http://lambda-the-ultimate.org/node/3851#comment-57701 ) and JRuby
(semantic mismatch) will probably never catch up completely.

If it turns out that the new Parrot object-model is general enough to
efficiently implement the object models of these languages, it is
quite possible to fit into the gap left between high-performance
single-language VMs like LuaJIT/V8 and things like PyPy (which is more
of a meta-VM) and JRuby (whose backend is optimized for a less-dynamic
language).

Christoph
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to