(Please CC me on replies)

I don't often express many opinions on Perl 6 these days, but I feel I have to
warn people about what I see as a potential loss of direction.

I'm becoming somewhat disillusioned with Perl 6 these days; sometimes because
it's too radical, more often than not because it's not radical enough, and
quite often because it's more than a year behind schedule and still slipping.
But that last point is by the by; with three people now working full-time on
it, I'm sure we can expect it any day now.

What's really actually letting me down with it is the half-measures we're
applying. We seem to be trying to please everyone, and it's not going to work;
indeed, it's going to end up presenting a burden to the implementors.

Let's take an example. One of the major points of Perl 6, and one of its major
attractions for me, was that we finally put the backwards compatibility ghost
to rest. We can do brave, new, exciting things, without worrying about needing
to maintain obscure pieces of functionality. Yey! Except that we can't do that
any more; we've constrained ourselves to faithfully regressing to Perl 5 when
we see a "package" declaration. Why? Because we're scared. "package parses
Perl 5" is a sop to people who don't want to program in Perl 6, and we're
worried about losing those people.

Maybe we've realised that we are going too far, and the new stuff doesn't look
all that much like Perl 5, but we're not sufficiently committed to what we
have to cut the umbilical cord. Are we going to innovate and improve Perl, no
matter what the cost, or is this just a marketing exercise to draw in new
users without scaring away the old ones?

We have a wonderful new pattern matching language, with some really innovative
ideas. It too is burdened by the beast of backwards compatibility. We're
too worried about scaring people with change, so we provide these half-measure
concessions to keep them happy. 

I feel like we're carrying around old luggage full of old and dirty clothes,
and even when we pick up new suitcases and new clothes, we refuse to put down
the old ones because they've been a part of our lives for so long. And so the
burden gets heavier. The implementors have a tough enough job to do, dealing
with a language which ended up being more difficult to parse and compile than
Perl 5, not easier, and I suspect won't enjoy the extra baggage that's being
forced upon them.

So that's my warning: decide how innovative we're going to be. If we're really
going to drive Perl forwards, let's not keep turning backwards, lest we end up
as pillars of salt. If we're just giving Perl a spring clean, then maybe we've
already gone too far. But let's not get stuck in the middle, doling out half
measures all round.

-- 
<ua> The dumb joke of the day is: "Call Microsoft. When the operator
answers, "Microsoft, may I help you?" respond: "I can't understand you.
You're breaking up."

Reply via email to