The “Raku is not Perl” meme

The Raku Programming Language Collect, Conserve and Remaster Project

The “Raku is not Perl” meme

Originally published on 8 November 2009 by Carl Mäsak.

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

<emma> Pardon me. Does raku 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> Raku doesn't share any code with Perl.  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 raku 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 Raku.
<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 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 Raku *is* Perl.
<jnthn> emma: I for one feel that way.
<Tene> Raku is not Perl.  Raku is Perl.
<jnthn> I regularly switch between 5 and 6, and it's not that big a deal. Yes, Raku breaks backward compability, but what Tene said earlier - that's nothing that other languages haven't done.
<Tene> emma: Raku is the community's rewrite of Perl.  Look into the history of Raku.
<Tene> The Raku 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.  Raku 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 Raku 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 -- [http://rakudo.org/status/](http://www.perl.org/books/beginning-perl/'>http://www.perl.org/books/beginning-perl/</a> 
<emma> but now i supose that book is worthless if you believe Raku is perl.
<jnthn> emma: I'm helping Raku come about, but I also still a lot of my day to day work in Perl. Perl 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 and Raku.  As well, most people don't consider Raku ready for production use yet, and wouldn't recommend it.  It's still missing quite a bit, although improving rapidly.
<Tene> <a href='http://rakudo.org/status/) 
<Tene> emma: That book would not be a bad place to start learning Perl, and if you want to use Perl today, then Perl is your best option.
<Tene> Raku 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. What you learn there will prime you well to learn Raku 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 #raku folks gave.

Why not? Partly because of the frustration and disillusionment already mentioned in the discussion. Partly because we in the Raku 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 Raku community and the broader Perl community. We have enough problems to address as it is with our relation to the external world. Saying that Raku 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 Raku 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.