Yes I know about Parrot's great features, but Parrot is still not
ready for the mainstream and won't be ready in the next two years (maybe?).
That's a lot of time for commercial projects like CLR and JVM and
the competition between MS and Sun is quite serious, so I expect
the dynamic features in their VMs to progress very fast. I'm also afraid
they have the resources to create compiler tools comparable to PGE and TGE
(you know that MS can always steal).
I think in 2-3 years CLR and JVM will be a serious competition to Parrot
and I just hope people won't say "uh, another VM for dynamic languages"
about Parrot 1.0.
Maybe we have to search harder for new ways to advertise Parrot to other
communities and get new developers and supporters to the project.
Currently, Parrot looks too Perlish and is mainly supported by the Perl 
community.
I think that has to change.

"Allison Randal" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Nikolay Ananiev wrote:
>>
>> So, is one of parrot's biggest strengths gone? Are we too late?
>> Why would the developers use Parrot instead of JVM/CLR/Mono?
>
> We're certainly pleased that we kicked off a revolution in virtual 
> machines, and that others are beginning to catch on to the fact that 
> they'll have to support dynamic languages to compete. But, it would be a 
> little silly to throw in the towel just when others are beginning to 
> follow your lead. (And I do mean beginning. They're making great strides, 
> but I still hear strange comments like "We support all features of dynamic 
> languages. Of course some features, like multiple inheritance, may be 
> slow, but we don't encourage the use of those features." from the JVM 
> team.)
>
> The plan to run Perl, Python, PHP, Ruby, etc. is not the only innovative 
> feature of Parrot. To list a few:
>
> - PGE provides parsing tools that are light years ahead of what's in 
> common use today (what's commonly used today hasn't seen much in the way 
> of technological advances in the past 20 years).
>
> - TGE is a powerful tool for manipulating trees of data, like the output 
> of a parse, or an abstract syntax tree (think of it as XSLT on steroids).
>
> - Those parsing and transformation tools are valuable both for writing 
> compilers and for data processing tasks (handling database output, screen 
> scraping, combination and modification of Atom streams in an AJAXian way, 
> etc.), giving a big boost in ease of use for both areas.
>
> - Parrot is a register-based virtual machine instead of stack-based like 
> .NET, Mono, JVM. Register-based machines require fewer instructions to 
> complete the same operations (no need to push and pop the stack), 
> eliminating some unnecessary overhead. JIT-ed code is also register-based 
> (since the actual machine under the virtual machine is register-based), so 
> the register-based bytecode makes that transformation simpler.
>
> - Parrot moves beyond the fragile stack-based control flow common to 
> virtual machines today, to a continuation-based control flow. (I can 
> recommend a few good books and articles if you're curious.)
>
> While the other VMs are catching up to supporting the features of dynamic 
> languages from 10-40 years ago, we plan to open the way for a whole new 
> breed of dynamic languages. Will others follow our example? I won't 
> complain if they do. "Imitation is the sincerest form of flattery."
>
> Allison
> 



Reply via email to