Strangely Consistent

Theory, practice, and languages, braided together

The "Perl 6 is not Perl" meme

During my beauty sleep, another interesting discussion took place on #perl6. Here's a version of it, where I kept the parts relevant to this post:

<emma> Pardon me. Does perl6 have anything to do with perl? Are they two different languages?
<Tene> Depends on how you look at it. ;)
<emma> I was just told by the people in #perl that they are not the same language.
<Tene> Perl 6 doesn't share any code with Perl 5.  It's a complete reimplementation, break of compatibility, etc.
<emma> I find this state of affairs needlessly confusing and if perl came first then naming your language perl6 is just rude.
<emma> How would you like it if we made yet anther language called Perl6.0 just to confuse people and steal your success?
<jnthn> emma: Larry Wall, who created Perl from version 1, is the creator of Perl 6.
<emma> Why did he go and cause confusion like that?
<jnthn> I don't see the confusion.
<emma> Why didn't he make a new name or else work on Perl that he started?
<Tene> It takes a rather narrow view of "perl" to say that only Perl 5 is Perl.
<jnthn> Indeed.
<emma> Perl6 is not perl.
<Tene> emma: Many languages have breaks in compatibility between major versions.
<emma> I can tell you that in #perl they do not think that Perl6 is Perl.
<jnthn> emma: I think you'll find plenty of people who will say Perl 6 *is* Perl.
<jnthn> emma: I for one feel that way.
<Tene> Perl 6 is not Perl 5.  Perl 6 is Perl.
<jnthn> I regularly switch between 5 and 6, and it's not that big a deal. Yes, Perl 6 breaks backward compability, but what Tene said earlier - that's nothing that other languages haven't done.
<Tene> emma: Perl 6 is the community's rewrite of Perl.  Look into the history of Perl 6.
<Tene> The Perl 6 design process started with RFCs from the community, on what they'd like to see fixed and improved in Perl.
<emma> Well what is going on in #perl then, what are they all doing there?
<jnthn> emma: Some people dislike the break in compatibility. Others are disillusioned because, well, people ain't good with coping with the fact that some things just take a long time to do right.
<jnthn> They're entitled to their opinion.
<emma> Maybe eventually Perl6 will be thought of as the defacto perl and all of you will chat in #perl instead.
<jnthn> Maybe. :-)
<Tene> emma: Perl has a long tradition of strict backwards compatibility, at any price.  Perl 6 changes several things in incompatible ways, which is enough for some people.
<Tene> And then some people odn't like those changes, and then conclude that it must not be Perl anymore.
<Tene> I've got a friend who is fanatically upset about Perl 6 because of minor changes to how it handles whitespace, for example.
<Tene> He ranted to me for half an hour about it the other night.
<emma> Well I was planning to learn perl.
<emma> But now i don't know what I should learn. I was going to use this book -- 
<emma> but now i supose that book is worthless if you believe Perl 6 is perl.
<jnthn> emma: I'm helping Perl 6 come about, but I also still a lot of my day to day work in Perl 5. Perl 5 is still a great, and very capable, langauge.
<Tene> emma: A large part of what you'd learn from that book would apply about the same to Perl 5 and Perl 6.  As well, most people don't consider Perl 6 ready for production use yet, and wouldn't recommend it.  It's still missing quite a bit, although improving rapidly.
<Tene> emma: That book would not be a bad place to start learning Perl, and if you want to use Perl today, then Perl 5 is your best option.
<Tene> Perl 6 has been in progress for a long time, and while it's much closer today, we don't expect to have a release we can recommend for much until... April, I think?
<emma> Tene: okay thanks!
<jnthn> emma: If you want to learn a version of Perl that lets you Get Stuff Done today and that's your main objective, and you don't want to run into compiler bugs, go for Perl 5. What you learn there will prime you well to learn Perl 6 when it's ready and if you like the look of what it offers. :-)

When, in "Harry Potter and the Order of the Phoenix", the times get tough and the wizarding world needs to rise united against the threat of Lord Voldemort, it instead finds itself fragmented, with the Ministry of Magic denying that Voldemort is back. Instead of lending Dumbledore and Hogwarts its full support, it takes a contrary stance. Not because the Ministry of Magic is evil, but because they operate under a misinformed version of doing good.

Surely no-one in the Perl community wants to confuse newcomers. Yet that is clearly what happened here. I wasn't on #perl when emma discussed with the denizens there, so I can't know exactly what was said. But it sure seems to me that one or more people where operating under a misinformed version of doing good. Whatever replies emma got, she did not get the balanced views that the #perl6 folks gave.

Why not? Partly because of the frustration and disillusionment already mentioned in the discussion. Partly because we in the Perl 6 community, despite our sincere efforts, not always reach out to everyone, not even within the Perl community. Perhaps #perl collects especially bellicose and vitriolic representatives, or perhaps there's a "vocal minority" effect at work. I don't know.

Not everybody needs to believe the same thing. But we also don't need a split between the Perl 6 community and the broader Perl community. We have enough problems to address as it is with our relation to the external world. Saying that Perl 6 isn't Perl is at best misguiding/FUD/a myth and at worst simply wrong. But more importantly, it unnecessarily widens the rift between the Perl 6 community and the larger Perl community. What's needed here is more bridges, understanding, and collaboration.

I'll do my part by frequenting #perl more often.