Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
File Extension Conventions #1807
A Reddit Thread asked what's the best practice for Perl 6 code file extensions and recommended those would be codified somewhere.
I pointed to https://docs.perl6.org/language/modules and turns out a lot of the examples there (including comments in the code examples) use
.pl or .pl6?
.pl conflicts with Perl 5 scripts and .pl6 binds Perl 6 to the number '6'.
The Perl 6 language should not wed itself to the number '6'.
A simple increment in version number from Perl 5 does a disservice to both dialects of Perl - Perl 5 and Perl 6.
We need room for both Perl 5 and Perl 6 to grow without stepping on each other's toes.
The Perl 6 dialect needs its own distinctive non-numeric name. Once we have that - distinctive, non-numeric file extension(s) are likely to follow naturally:
It really is time for Perl to get a grip of the branding for Perl 6 - not least because the Artistic Licence 2.0 relies on it.
Let's keep the ".p6" thing as an interim fudge until we work out what we really want instead of '6'.
Well we have a difference of opinion.
The "6" in the name "6lang" unnecessarily associates it with a version number. Including a "6" in the name doesn't help Perl 5 either.
I absolutely support, however, a new distinctive name for the Perl 6 dialect - just not one that involves a version number hard-wired into it.
"6lang" is distinctive and shortish - which is good, however it's not easy to read or straightforward to pronounce. It feels like some more iterations are needed.
Having seen the punning powers of the #perl6 IRC channel over the years I'm sure we can come up with something that doesn't involve a "6"! ;-)
I appreciate that Zoffix has got the ball rolling with renaming the Perl 6 dialect - we just need to find something that is: shortish, distinctive, with command-line type-ability and Google find-ability and works with the Perl parent trade mark:
Well, there's no chosen name yet. But you have a nice list of features for the upcoming name. FYI for 6lang that you didn't like:
I guess you specifically want it to be “Perl Something” and I'm pretty sure this option is not really considered even. One of the major reasons for doing this naming thing is to break off the connection to perl5, and having “perl” in the name is not a good way to accomplish that.
Thanks for distilling some of those points about what makes a good name.
You're right, "6lang" - does tick most of the boxes - it's not easy to come up with a name that does that. I appreciate Zoffix putting effort in there. Unfortunately though, IMO the presence of a "6" is overall a show-stopper, especially given the cultural scar tissue around (5 => 6).
This is not easy - I would like to work with you and Zoffix to get a good result for Perl.
It's a good idea to present Larry with a selection of names prior to the 6.d release for his stamp of approval (he may even have one or two of his own up his sleeve). I don't have a problem with "6lang" being amongst the names for consideration. We just need to come up with some other names too.
I've updated the Perl branding proposal to include a list of features for what makes a good runtime name:
Let's work together ...
My two cents here: do we really need to distinguish Perl 6 code from Perl 5 one?
On the other hand, the
Could it be the Perl 6 name is the same of the logo (camelia)? I don't know, suirely it will give a large breath and remove any number discussion.
I'm not suggesting any decision on the matter, and I let people that are interested in such discussion to take the right (or better) choice with regard to different views, but I do see too much effort in this matter.
Doesn't look like proposal hasn't garnered a lot of good feedback: https://www.reddit.com/r/perl/comments/7zr5if/free_all_the_butterflies_a_proposal_for_perls/
Sorry to say, but my biggest point was that having
Well we have a difference of opinion there.
I don't think we need to jettison "Perl" from naming Perl 6 nor do we need to jettison it from Perl 5.
You don't have to take "Apple" out of the Apple iPad or out of the Apple iPhone - the parent brand still means something - it's a badge of origin - and a set of associations with their product(s). Sub-brands can flourish under the parent brand's umbrella and sometimes are differentiated enough to standalone (e.g., iPhone).
The fact is both Perl dialects share the Perl Way. We shouldn't try and sweep that under the carpet - it's actually something to be proud of and what differentiates Perl 5 and Perl 6 from other computer languages - that's marketing differentiation.
Both Perl languages are pragmatic, TMTOWTDI, practical computer languages that help solve problems and get things done = Perl (R). These are good brand values to keep.
So "Perl" already gives us a differentiator with other computer languages - now we just need a differentiator between dialects.
Bumping the version number between the two doesn't really tell the true story and misses the opportunity for both languages to differentiate themselves in the future.
I'm in no way suggesting diluting Perl's brand - if anything I would like it to grow and get stronger. Brands are strongest when their honest. The truth is Perl is no longer a designator of just one language dialect - we should be real about that.
iPhone does not dilute Apple's brand - it just enhanced it.
Likewise, sub-branding for Perl projects - increases differentiation while goodwill accrues to the Perl parent brand.
That's just patently false. It's not an "Apple iPad", it's an "iPad". Just look at the ads:
Even the "apple watch" is marketed as just "watch" with Apple's logo. Together with "AirPods", undoubtedly a move to avoid further diluting the "i
The equivalent of "Apple" in your examples would be "The Perl Foundation", not "Perl".
Not just "we". What you propose flies directly opposed by common wisdom in this line of work. Pick up any marketing book, and I bet it'll have something on the topic, likely followed by "line expansion will lead to short-term boost to sales, but will ultimately damage the brand".
What the heck is "the Perl Way"? I've used Perl 5 for over a decade, uploaded hundreds of modules to CPAN, and I am both the user and contributor to Perl 6 and I've no idea what you're talking about, yet you're just throwing this out as if it's something well-known and well-understood that'll attract tech users to the language.
And just because you keep calling them "dialects" doesn't change the fact that they're entirely different languages to the core.
Except you don't get to pick and choose what to keep. Stability and performance are part of the Perl brand, but these aren't the strong points of Perl 6, which is why I'm saying your proposal is diluting and damaging the Perl brand. Those who expect stability and performance from a "Perl" will be disappointed when they can no longer get that from a "Perl" and will stop trusting the brand to deliver on those values. This is exactly why "Perl" should remain owned by Perl 5—it has everything those who prefer that brand want.
Moreover, unreadability and antiquity are part of the Perl brand. Why does it make sense to carry that over to a brand new, more readable language that leads in latest Unicode and concurrency support?
Considering earlier you mentioned me several times, I think you're well aware that "bumping the version number" isn't what we're working on and here you're just attempting to strawman.
But you're explicitly suggesting it should be hijacked by other projects that don't even carry its attributes!
Why is that the truth? What's your evidence for that truth? Just 18 hours ago I had to clarify that "Perl" in a post about regex features was referring to Perl 5.
Just as "Apache" is a web server for an average tech person so "Perl" is a line-noise language popular in the '90s. Hell, even inside the community there's confusion that there's only one "Perl" and Perl 6 is aimed to replace Perl 5.
Here you're just corroborating my point: multiple different things under the same name dilute the brand.
In summation, I think what you're proposing aims to solve the confusion around version numbers by introducing confusion around branding and doesn't address several other branding issues that exist. The proposal intends to change the well-settled meaning of "Perl" in people's minds—something prominent marketers deem impossible and something that's most definitely isn't working even in the proposal's own examples. And the proposal argues that by making "Perl" mean many quite different things, we'll make the "Perl" brand stronger—which is a contradiction.
Patently false? A quick Google image search shows numerous Apple promotional shots where they use the master brand in combination with their products and sub-brands.
There's plenty more where that came from! ;-)
Apple do associate their master brand AND their sub-brands. This is standard umbrella branding strategy.
Thanks for being honest about your real reservations about my proposal. I don't share your concerns, however, that Perl 6's current performance and reliability will impact the overall Perl brand. This is where the sub-brands can, will and should diverge - it's about being honest and communicating what the reality is. Different associations will attach to each dialect:
It's about being clear - there is a good story to tell here and having different sub-brands will help us tell it.
[1,2] illustration only