PDS aftermath: .nqp programs in Parrot core
chromatic
chromatic at wgz.org
Mon Jan 31 16:31:29 UTC 2011
On Monday 31 January 2011 at 07:16, Will Coleda wrote:
> I am not convinced that this is a problem. I certainly don't expect,
> as a parrot developer, to actively work on these tools*, but find the
> thought that supporting portability is harmful... strange.
Set aside the silly strawman that Parrot is actively hostile to cross-VM
portability and we can have a rational discussion of the real issue:
Portability is never free.
In specific, supporting a cross-VM portability layer within Parrot's repository
requires:
* hosting an abstraction layer of code in addition to what NQP-rx
provides today
* which probably has runtime costs
* which definitely has support costs in terms of our deprecation
policy, our test policy, our documentation policy, and pretty much every
policy we have regarding code intended for use by Parrot users
* which very likely has implications on the interface between Parrot
and the new NQP as the abstraction layer will necessarily change to support
more backends
* tolerating the concomitant churn of said layer
* gathering the resources to design, implement, support, test, and
maintain said layer
I believe that that cross-language portability layer--no matter how valuable
it may be as a philosophical, ethical, practical, or aesthetic goal--is, at
best, irrelevant to Parrot's goals today. It's more likely an expensive
distraction.
Some, but not all, of these concerns are moot if the portability layer is
completely external to Parrot itself and never included in Parrot's repository
or the official Parrot packages. In particular, the concerns about a runtime
performance penalty imposed by the abstraction layer as well as interface
churn do not go away for two reasons:
* it may penalize Parrot in sketchy competitive performance analysis (I
can write a backend for a tiny subset of Perl 6 with mind-blowing performance
because it doesn't do anything interesting, and all that proves is that
features aren't free)
* it may penalize core Parrot programs written in the language for no
benefit
Again, that portability may be a fine goal for the new NQP and it may be a
fundamental goal to Rakudo and it may make you feel warm and fuzzy inside and
it could be nice to pursue in a world without resource constraints, but it's a
goal irrelevant to Parrot right now.
-- c
More information about the parrot-dev
mailing list