Is Perl 6 Being Renamed?
By now, many of you have seen the Perl 6 Github issue "Perl" in the name "Perl 6" is confusing and irritating. The issue suggested renaming Perl 6. While some may think that the name of the issue is trolling, or offensive, the actual issue was created by Elizabeth (Liz) Mattijsen, one of the core Perl 6 developers, a long-time Perl 5 developer, and with her spouse, Wendy, has long been an enthusiastic support of Perl 5/6. There is no trolling here. There is a lot of deep thought, careful discussion, and a genuine desire to find a way to bypass some deeply divisive issues in the Perl community.
While the proposed name was "camelia", Damian Conway made a strong argument in favor of "raku" and it appears the community is leaning towards this name for various reasons.
This post is my attempt to summarize what's going on for those who have missed it. Any errors are, of course, Damian's. (just kidding!)
What follows isn't about facts. It's about opinions. If someone feels that X is awesome, it doesn't matter if you disagree. That's still their opinion. Further, you can try to change their mind, but be aware that when someone strongly disagrees with you, you usually want to start discussion from the points you can agree on and then slowly move to the points on which you disagree. However, that's not been the story of Perl 5/6. People disagree and immediately jump to disagreements rather than trying to find common ground.
The far, far too terse backstory: the Perl 6 community seems to be split between those who view Perl 6 as a sister language to Perl 5 and those who view Perl 6 as a successor to Perl 5.
The Perl 5 community, meanwhile, is split between "f*ck yeah" and "f*ck you".
To say that this issue has been bitterly divisive would be an understatement.
When Perl 6 was announced, it was seen the way that Perl 2, Perl 3, Perl 4, and Perl 5 were seen: replacements for "$VERSION - 1". Over time, it became clear that though Perl 6 was in the same family as Perl 5, a straightforward migration path was unlikely. One only needs to look at the problems with Python 2 and Python 3 and the upgrade obstacles with their minor syntactic differences to understand that an upgrade from Perl 5 to Perl 6 isn't trivial.
It was, if I'm not mistaken (if I am, remember that it's Damian's fault 😃), that Carl Mäsak, is the person who first suggested that Perl 6 be considered a sister language to Perl 5 in the way that C++ might be a sister language to C (though the upgrade path on the latter is probably easier). But that didn't satisfy some people. In fact, there were/are still people in the Perl 6 community who view Perl 6 as the successor language. To many people in the Perl 5 community, this says "Perl 5 is dead; wait for Perl 6".
Not only have many Perl 5 developers been offended by effectively being told by some Perl 6 developers that their language is dead or dying, but it had real-world financial consequences. I can't tell you how many times I've talked to potential clients who've told me "yeah, our Perl 5 codebase is old and we want to upgrade, but we have to wait for the next version (Perl 6) because any upgrade will be throwing money away."
And they've been waiting two decades. Many of them have stopped waiting and abandoned Perl.
The BBC, the world's largest broadcaster, had Perl everywhere. They decided to
ditch it. MongoDB claims that their clients aren't developing any new
so they're ditching Perl 5 support. Other companies are continuing this trend
and this is, as potential clients have told me, because they're tired of
waiting for Perl 6. They think Perl 6 is the successor to Perl 5 and given
the name, it makes perfect sense. Combine that with the negative press about
Perl 5 and you get into "nobody got fired for buying IBM" territory, but
Also (I can't remember if this was said publicly or not), but there are those who've suggested Perl 6 solutions and been rejected out of hand because "Perl".
Liz summed it up succinctly as follows:
Perl 6 was initially conceived to be the next version of Perl. It took way too long to mature to an initial release. Meanwhile, people interested in taking Perl 5 along, took back the reigns and continued developing Perl 5.
Having two programming languages that are sufficiently different to not be source compatible, but only differ in what many perceive to be a version number, is hurting the image of both Perl 5 and Perl 6 in the world. Since the word "Perl" is still perceived as "Perl 5" in the world, it only seems fair that "Perl 6" changes its name.
Since Larry has indicated, in his video message to the participants of PerlCon 2019 in Riga, that the two sister languages are now old and wise enough to take care of themselves, such a name change would no longer require the approval of the BDFL.
This is the video to which she refers:
Out of the 143 emoji responses to her initial post, 134 were clearly supportive with only 5 being unsupportive (4 being neutral).
What's worse is that Perl 6 is often tainted by the name "Perl". Routinely I see in numerous online discussions that people refuse to even consider Perl 6 because they hate Perl. Or there are younger people who think of Perl as "their grandfather's language" (in much the same way people in my generation view COBOL). So there are people in the Perl 6 community who want to change the name simply to avoid an unjustified negative perception of the language. In fact, it's been suggested that the rename of Perl 6 might allow more people to come into the language by side-stepping this issue.
So yeah, there's bitterness and the Perl community not only needs to heal, but we need to find a way forward for both languages. The suggestion to change the name of Perl 6 to "raku" is effectively designed to make this happen. Perl 5 can figure out how to get beyond the branding issue that's been plaguing it and Perl 6 can do the same thing.
Perl 6 performance has now gotten to the point where it's often comparable to Perl 5 or surpasses it. It still needs some work in this area, but the work is clear, the goals are straightforward, and Perl 6 is going to easily oustrip Perl 5 in terms of performance. If the Perl 6 community wants to rename, it's perhaps the perfect time to do so. It doesn't look like a bad choice if performance is a primary concern.
But all of this brings me to the most important point.
We're in a bubble. If you're reading this, you're probably part of the Perl commmunity. Most of what I've said above isn't news to you. But who's outside the community?
People who sign contracts. People who decide what their next project will be built in. People who decide if they're going to rebuild their legacy Perl 5 system in Perl 5 or a language they don't have to justify to their bosses.
In short, for many people the debate comes down to whether or not they have a financial future in working with a language they love. But they don't get to make that decision; people who control the purse strings do. Trademark law often deals with the concept of confusing similarity because the market can easily get confused when two names are so very similar. And as any competent salesperson can tell you, when your customer is confused, they don't buy.
So that's where we are. We have a very confusing issue which, it appears, that much of the Perl 6 community agrees needs to be sorted. Much of the Perl 5 community appears to feel the same way.
None of this should be intended as a critique of what's gone on in the past because, frankly, I don't think anyone expected that this confusion would drag out for two decades. The various shifts we've made over time (from successor, to sister language, to creating an alias for the language), have led to the point we're at now.
As for myself: I would definitely program in Perl 6 if I could make a living at it. Right now that's not possible, so I'm still developing in Perl 5. I think Perl 6 corrects many core issues with Perl 5 (powerful OO, gradual typing, working concurrency, robust signatures, a cleaner syntax, etc.), but I also love the quirks of Perl 5. Sue me.
So let me end with a quote from Neo from the Matrix:
I know you're out there. I can feel you now. I know that you're afraid... you're afraid of us. You're afraid of change. I don't know the future. I didn't come here to tell you how this is going to end. I came here to tell you how it's going to begin. I'm going to hang up this phone, and then I'm going to show these people what you don't want them to see. I'm going to show them a world without you. A world without rules and controls, without borders or boundaries. A world where anything is possible. Where we go from there is a choice I leave to you.
Update: The above quote from the Matrix was intended solely to be vaguely humorous, vaguely relevant, and not at all serious. However, as my 8-year old daughter is quick to remind me: "your jokes aren't funny, papa." As with my daughter, please take it as a joke that lay there and twitched (though I suspect she wouldn't phrase things quite the same way).