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
