On Tue, 4 Jun 2002, Simon Cozens wrote:

: Dave Mitchell:
: > > (Please CC me on replies)
: 
: Actually, now I come to think of it, please don't CC on replies. One thing I
: really hated about Perl 6 was the number of people sniping from the sidelines
: providing no useful contribution. And now I've become one. Urgh.

Don't stress.  Whenever I see someone sniping from the sidelines,
I take it as a clue that I haven't communicated well enough.

: > One word: CPAN.
: 
: I understand this argument, but it is bogus, and doesn't address my point.
: Either we're breaking backwards compatibility and doing something very new, or
: we're seeking to retain compatibility with the past. Which is it to be?

Whenever someone asks "Which is it to be?", I always suspect they're
setting up a false dichotomy.  In this case, you're ignoring a very
real engineering issue, which is migration strategy.  Your question
is posed in the eternal present tense, but this is a temporal issue.

When they're building a new interchange on an interstate highway, they
don't tear down the old one and then put up the new one.  The traffic
has to keep flowing.  So over the course of time there will be various
odd temporary roads that take you through and around the construction
area, and you're always afraid the temporary scaffolding is going
to come down on your head.  But eventually the scaffolding does come
down, and what's left is all concrete, and nobody remembers how the
old road went.

When DEC first invented the VAX, they put in an emulation of PDP-11
assembly language, because they knew it would take time for people
to migrate.  Eventually the emulation went away.

Anyway, you seem to be saying that two features of Perl 5 scaffolding
will ruin Perl 6.  I think you haven't really thought about migration
strategy long enough.

: Yes, there's a lot of legacy crap out there. Much of the important parts of it
: are XS, which we can't hope to support. (No, Dan, be realistic) So, let's go
: through the CPAN argument:
: 
:     * Allowing CPAN code to be run in Perl 6 tantamounts to legitimizing its
:       use.

In what sense does Perl 6 de-legitimize Perl 5 code?  Perl 5 is as
legitimate as it is.  Perl 6 neither adds to nor takes anything away
from that.  Perl 6 may be better, but only if you have the Perl 6
code to run.  We have to get there from here, and there has to be
gentle but relentless pressure to migrate, but if Perl 6 really is
better, that pressure will be there.  Treating Perl 5 programs (and
by extension, Perl 5 programmers) as illigitimate is not going to
speed up the process.

:     * Legitimizing the legacy code means it'll never get ported to Perl 6

No, requiring everyone to translate everything all at once means
nothing will get ported.  Open source projects only know how to do
things piecemeal.  They don't know how to do things all at once.

:     * Producing Perl 5 results in a Perl 6 world may not make much sense
:       anyway.

Don't understand what you're saying there.  Data is data, and most results
aren't either Perl 5 or Perl 6 results.  They're just data.

:     * Subtle differences between P5 usage and P6 usage would give module
:       authors a support nightmare.

Once you have a working P6 module, you can throw away the P5 module, or at
least treat it as no-longer-supported.

:     * Some of those authors may not know about or want to support a Perl 6
:       use of their module anyway. (Thank you for your bug report, but it
:       appears to be written in a different language.)

Dinosaurs happen.  But eventually they evolve into birds.

:     * Digging a pit for module authors to fall into considered unfriendly.

Yeah, but we're using the extra dirt to raise a mountain for them to climb.
The capacity for greater good always comes with the capacity for greater evil.

:     * It's still a backwards compatibility sop. Perl 4 libraries had to be
:       rewritten for Perl 5. I don't see why Perl 5 libraries should escape.

Perl 5 libraries do have to be rewritten (or translated) for Perl 6.  But that
will only happen if Parrot can emulate Perl 5 long enough for people to climb
each rung of the ladder one step at a time.  Most people can't leap tall
buildings in a single bound.

Larry

Reply via email to