parrot-dev Digest, Vol 58, Issue 9

Bart Wiegmans bartwiegmans at gmail.com
Tue Jun 25 20:54:28 UTC 2013


Hi Jonathan,

As always I do appreciate your optimism :-). I can understand how I
come off as negative, and I don't mean to be, but I find it hard to
express the situation I see parot in today. Lets try again.

Parrot, for better or worse, is and will be the 'second platform' for
many languages. In order to be a convincing second platform, it has to
be

* better in some objective way, than the primary (CPython, MRI)
* pretty much entirely compatible with the primary

Now the second will by definition take vast amounts of tuits, which
parrot does not have right now; and perhaps is not our primary goal
anyway. The first, however, we can reach (I think). The main pain
points of 'primary' interpreters are:

* They're slow (embarrasingly so)
* They still don't support real threading (global interpreter locks in
****** 2013)
* They have idiosyncratic bindings to native libraries (maintained at
great cost)
* They have silly (and outdated) memory layout and garbage collector /
refcounting schemes
* They are buggy (ZendVM I'm looking at you).

In short, they're lousy at the job of being virtual machines. In an
ideal world, here parrot comes in. And parrot has a lot to offer:

* threads (don't know how far along they are, though)
* garbage collection (though memory layout, not so much)
* native library binding (say what you like but NCI works)

Unfortunately, it doesn't have speed and unbugginess. And I think a
lot of the negativity towards parrot comes from these two issues, and
they're hard to fix (partly because parrot now has a legacy of over 10
years, and partly because of hard).

If parrot can be fast, modern, and mostly bug-free, and if it can
convince people to compile their respective dynamic languages to it,
then it has a bright future yet ahead. If it cannot, then the best it
can hope to be is an -Ofun project for our little group. And I don't
mean that negatively, either. It's a question of goals and
expectations.

Kind regards,
Bart Wiegmans


More information about the parrot-dev mailing list