(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."