A Request to Larry Wall to Create a Language Name Alias for Perl 6

Read this article on Rakudo.Party

I (Zoffix Znet) am writing this document to Larry Wall to request the creation of a second name for the "Perl 6" language. This name is not a rename of the language, but is simply an alternative name, an alias. Similar to how TimToady is an alias for Larry Wall.

It's been a year and a half since the time when I first re-opened this issue with a blog post, and in this document, I compiled the argumentation for creation of the alias, the community suggestions for what that alias might look like, along with the observations of discussions on the topic that occured during that time period.

I ask that Larry Wall renders his decision on the alias by November 1, 2018, so we would have the time to create proper informational materials for the 6.d language release, during which time, the name alias would be officially announced, if one is chosen.

Community Alias

The original idea for the alias came in the form of creating a "marketing alias", for markets where Perl "is a swear word." However, I believe such an alias has a more immediate application closer to home, by improving the wellbeing of the existing community and the interactions of its members with other programming communities, including the Perl 5 community.

The idea of Perl 6 was birthed in the form of the community rewrite of the Perl language. This name alias, then, is the Community Alias for that language.

Reasoning for Alias

The current language name "Perl 6" comes with a set of built-in assumptions that do not apply either to the language or to currently-available compilers for it. The assumptions encoded in the name are:

  • It is similar to earlier Perl language (and thus comes with all the negative connotations attributed to it)
  • It is the next version of Perl language
  • It is faster, more stable, and "better" than earlier Perl language

In reality, what we have is an entirely brand new language. Different, and with all the caveats typical of brand new software.

Similarity

Other than the "spirit" some claim the Perl 5 and Perl 6 languages share, they're dissimilar in many ways.

$ perl  -e 'print "I am a Perl ", "0" && 6||5, " program\n"'
I am a Perl 5 program
$ perl6 -e 'print "I am a Perl ", "0" && 6||5, " program\n"'
I am a Perl 6 program

In Perl 5 you choose your own OO system, concurrency/parallelism system, your list processing utilities, etc; in Perl 6, many of these features are a large part of the standard language itself. In Perl 5, you're told to never use threads; in Perl 6, even an empty program is multi-threaded (JIT runs on a separate thread). In Perl 5, lists autoflatten; In Perl 6, they don't and you have a choice of multiple core list types.

Thus, we lose on two fronts: those who love Perl 5 and come to Perl 6 get disappointed because they get a different language; and those who hate Perl 5 never bother trying out Perl 6, assuming it's the same language they hate.

Next Version

The naming of "Perl 6" has a strong suggestion that "6" is the version number rather than a part of the name. Some suggested it's easy to explain this caveat of naming, but my personal experience was quite the opposite of that. First, it's hard to wedge this information during a real-time meatspace conversation:

— What are you working on?
— Writing an AI for a game in Python.
— You?
— Hacking on Rasperry Pi with C.
— You?
— Making a media center for my car in Perl 6. YES. YOU MAY HAVE HEARD OF PERL, BUT PERL 6 IS NOT PERL BUT A RELATED LANGUAGE.
— ...

Second, even after you make that clarification, people still continue to shorten the name to just Perl ("You're the Perl guy, right?"). Moreover, some media, such as banners and posters, often do not allow for adding a suitable clarification.

Lastly, similar shortening of the name occurs with some software, such as DuckDuckGo search engine producing results for Perl 5 instead of Perl 6 when searching for "perl6 argv".

The biggest issue here, however, is the relationship with the Perl 5 community. The mere existence of a "Perl 6" language paints Perl 5 as obsolete. While the Perl 6 community has to make clarifications to distance itself from Perl 5's negatives that don't apply to Perl 6, the Perl 5 community must make the same clarifications just to convince people they're not dead. This brews understandable animosity towards Perl 6.

The Perl 5 language is effectively blocked from releasing the next "major version", because Perl 6 is squatting on it. And were Perl 5 to release a "Perl 7", that would immediatelly paint Perl 6 as obsolete. The lack of any established alternate names leaves Perl 6 vulnerable to such a scenario.

Thus, we have three community issues: difficulty for community to explain what language they're using; difficulty for community to find information about the language; and difficulty of amicable existence beside the Perl 5 community.

Speed and Stability

The Christmas release of Perl 6 came with a caveat that it's the language spec that's stable now, and the compiler itself needed more work. That is exactly the sort of a caveat you'd expect to come with a brand new language.

However, our brand new language is not named that way. The current name suggests it's the next version of Perl and thus it should be slightly different, and faster and more stable. None of which is currently true. By using the name to associate ourselves so closely with Perl 5, we effectively set a performance target to surpass. Yet, due to how new our language is, there is still a lot of work needed to reach that target, and due to significant differences between the languages, some of these targets might not be met when comparing exactly the same constructs (e.g. Perl 6 regexes produce a much more complex data structure—a tree of Match objects).

Thus, by mislabeling our brand new language with a next-version language, we suffer disproportionally when our compiler does not perform as well or is not as stable as a well-established language.

Summary

In summation, the name "Perl 6" is a misrepresentation. It's a wrong label on a can. It causes friction within the broad Perl community and confusion or difficulty when communicating with those outside the Perl community.

It sets incorrect expectations of performance, stability, and features of the language.

It is detrimental to our future.

No Full Rename

While numerous members of the community would have liked to see a full language rename, there are also those who believe a full rename would be detrimental. The full rename at this point in time is also a lot more challenging due to the existence of books, websites, documentation, environmental variables, and dynamic variables in the language—all with the name "Perl" in them.

As such, we are creating an alias only. One that does not have any reference to Perl in it (i.e. no "Perl++"). If another name is truly as superior as the full-rename proponents claim it would be, I believe the alias can become a defacto name through its sheer amount of use. Thus, the creation of the alias can be seen as a means for the full-rename proponents to prove their claims.

References

What follows are references to real-world examples of confusion and problems due to the current name, additional community discussions on the naming along with suggestions for what that name can be, and other resources relevant to the topic.

Naming Confusion

The (parentheticals) indicate what issue was encountered in an item. The issues refer to issues examined in Reasoning for Alias section above.

Naming Suggestions

Other

Conclusion

With the 6.d release around the corner, we have approached the point where a direct request to Larry Wall is made with the matter of assuaging the problem of the naming of the language.

Through a year and a half worth of discussions, we came to a conclusion that a second name to the language should be created, as opposed to a full rename. This will let the proponents of a rename to prove their claims, without severely upsetting those who believe the current name is beneficial.

This document presented argumentation for why a second name is beneficial, as well as compiled the discussions and suggestions that occured during that year and a half.

It is now up to TimToady to reach the final decision on whether the official alias is to be created during the 6.d language release and what that alias is to be.

See you at the 6.d release party! Bring your own virtual beer.

6 Comments

How about

Wisdom

seems logical engough comes from
'pearl of wisdom'

I support a Marketing alias for all the reasons itemized above.

I thought 6lang was already accepted as the Community alias? But 6lang isn't really a Marketing alias.

This is a clear, rational, well-argued call for a long overdue better
name for this new language and I wholeheartedly endorse it.

The continuing use of the Perl6 name is proving to be both damaging to
the wider perception of the two languages (Perl and Perl6) and also
creating disharmony between the communities invested in them.

Larry, please see the light and acquiesce. Choose a name that doesn't
involve "Perl" and improve the future for all.

I fully support what you say here Zoffix. And Larry, you have given us so much - thank you - but please, one more thing...

How about "PerlanG"?

This name keeps our beloved word "Perl" but pronounce entirely different like per-lang.

The last two letters "nG" imply "nextGen" while the first and the last letter "PG" looks like the file extention "p6".

Just another funny idea, LOL

I just read most of the attachments, and watched the video of Larry's keynote. There are two issues, and perhaps there is a compromise.

Everything Zoffix Znet has said I agree with! In fact, it is a reiteration of the points made by Damian.

However, there is a very significant aspect that both Larry and Damian have pointed out, one that is valuable and should not, ever, be devalued: community. The Perl community is - as Damian pointed out - warm, helping, supportive.

I think that Larry is concerned that by naming the Perl 6 language by anything other than Perl, it would lead to a split in the community. I think he is right.

However, I appreciate that Zoffix's idea is to create an alias, not change the name. I believe this indicates a way forward. However, may I suggest a slightly different solution.

May be Larry would consider renaming the language as, eg., Perl Easy, or may be: Perl Rakudo

The suggestion is not 'Easy' but Perl xxx, where xxx is a brandable name. (I chose Easy because Damian mentioned it in his interview).

Alternatively, invert the order, to give (eg) Camelia Perl, or perhaps Rakudo Perl, etc. The advantage of this is that 'Perl' would be the family, or surname, and (eg) 'Camelia' would be the given name.

I think a big part of the problem with '6' is that it implies an order (after 5 and before 7), when in fact the relationship is sibling, not subsequent.

It is common today for people to shorten names, so the language in conversation would be (eg) Camelia, Easy, or Roku, whatever.

However, since Perl would remain in the name, the community would remain united, just with two siblings.
Leave a comment
Comments (You may use HTML tags for style) I just read all the documentation, and watched the video of Larry's keynote. There are two issues, and perhaps there is a compromise.

Everything Zoffix Znet has said I agree with! In fact, it is a reiteration of the points made by Damian.

However, there is a very significant aspect that both Larry and Damian have pointed out, one that is valuable and should not, ever, be devalued: community. The Perl community is - as Damian pointed out - warm, helping, supportive.

I think that Larry is concerned that by naming the Perl 6 language by anything other than Perl, it would lead to a split in the community. I think he is right.

However, I appreciate that Zoffix's idea is to create an alias, not change the name. I believe this indicates a way forward. However, may I suggest a slightly different solution.

May be Larry would consider renaming the language as, eg., Perl Easy, or may be: Perl Rakudo

The suggestion is not 'Easy' but Perl xxx, where xxx is a brandable name. (I chose Easy because Damian mentioned it in his interview).

Alternatively, invert the order, to give (eg) Camelia Perl, or perhaps Rakudo Perl, etc. The advantage of this is that 'Perl' would be the family, or surname, and (eg) 'Camelia' would be the given name.

I think a big part of the problem with '6' is that it implies an order (after 5 and before 7), when in fact the relationship is sibling, not subsequent.

It is common today for people to shorten names, so the language in conversation would be (eg) Camelia, Easy, or Roku, whatever.

However, since Perl would remain in the name, the community would remain united, just with two siblings.

Leave a comment

About Zoffix Znet

user-pic I blog about Perl.