Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File Extension Conventions #1807

Closed
zoffixznet opened this issue Mar 1, 2018 · 16 comments
Closed

File Extension Conventions #1807

zoffixznet opened this issue Mar 1, 2018 · 16 comments
Labels
docs Documentation issue (primary issue type) good first issue If you want to dive in, this would be a good place to start

Comments

@zoffixznet
Copy link
Contributor

zoffixznet commented Mar 1, 2018

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 and .pm extensions, which are really from Perl 5 world. The majority of Perl 6 users prefer the .p6/.pm6 variants instead.

@zoffixznet zoffixznet added docs Documentation issue (primary issue type) LHF labels Mar 1, 2018
@AlexDaniel
Copy link
Member

Related discussion: #778

@nige123
Copy link
Collaborator

nige123 commented Mar 1, 2018

.pl or .pl6?

Ideally neither.

.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:

Free all the butterflies

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'.

@AlexDaniel
Copy link
Member

The number is not a problem. For example, “6lang” proposal resolves the naming issue but still has a “6” in it. But yes, we are planning to resolve that, see this for more info.

@nige123
Copy link
Collaborator

nige123 commented Mar 2, 2018

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:

Perl $new-perl6-name-goes-here

@AlexDaniel
Copy link
Member

AlexDaniel commented Mar 2, 2018

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:

  • shortish ✓ (autocompletion on 6 Tab and 5 characters is short enough, shorter than Python anyway)
  • distinctive ✓ (can't get any more distinctive than that, especially given that it's first in sorted lists)
  • with command-line type-ability ✓
  • and Google find-ability ✓
  • and works with the Perl parent trade mark ✓ (it's not associated to it and therefore I guess it works, IMO)
  • easy to read or straightforward to pronounce ? (six-lang? Is there any issue?)

Bonus:

  • also not used for anything else and not trademarked ✓

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.

@nige123
Copy link
Collaborator

nige123 commented Mar 2, 2018

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:

Perl Branding Proposal - Free All the Butterflies

Let's work together ...

@fluca1978
Copy link
Contributor

My two cents here: do we really need to distinguish Perl 6 code from Perl 5 one?
What about all the other languages (e.g., java, python) that do not include a specific version? You would argue that such languages are growing up incrementally, while Perl 6 is a different language in Perl family, and therefore different from Perl 5. But he point here is Perl family, so I would not spend too much effort in this subject and stick with the well know Perl (5) suffixes. The only problem I could see is the name clash for the same module within different versions, but that would be addressed by a different schema in directory layout.

On the other hand, the 6 within the name is perfectly coherent with the one in the executable perl6. But while I buy the six in the executable, to make it clear (or brand, as someone refers to) the new language version, I would not buy the same for files.

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.

@zoffixznet
Copy link
Contributor Author

zoffixznet commented Mar 2, 2018

Perl branding proposal

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/

Zoffix has got the ball rolling [...] work with you and Zoffix [...] Zoffix putting effort

Sorry to say, but my biggest point was that having Perl in the name of Perl 6 is detrimental to both the Perl 6 and Perl projects. Your proposal seems to ignore that entirely and wishes to dilute the Perl brand even further while doing nothing to differentiate the other projects under TPF's umbrella. Differentiate or die. There's even a marketing book by that name.

@nige123
Copy link
Collaborator

nige123 commented Mar 2, 2018

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.

@zoffixznet
Copy link
Contributor Author

You don't have to take "Apple" out of the Apple iPad or out of the Apple iPhone

That's just patently false. It's not an "Apple iPad", it's an "iPad". Just look at the ads:

z1 z2 z3 z4

It's not an "Apple iPhone", it's just an "iPhone":
z5 z6

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$foo" line of products, especially with the "iSheep" meme taking off:
z-1 z-2


The equivalent of "Apple" in your examples would be "The Perl Foundation", not "Perl".


Well we have a difference of opinion there.

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".

The fact is both Perl dialects share the Perl Way.

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.

These are good brand values to keep.

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?

Bumping the version number between the two doesn't really tell the true story

[...] Zoffix has got the ball rolling [...] work with you and Zoffix [...] Zoffix putting effort

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.

I'm in no way suggesting diluting Perl's brand

But you're explicitly suggesting it should be hijacked by other projects that don't even carry its attributes!

The truth is Perl is no longer a designator of just one language dialect - we should be real about that.

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.

sub-branding for Perl projects - increases differentiation

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.

I'm out.

@nige123
Copy link
Collaborator

nige123 commented Mar 2, 2018

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.

image

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:

  • Perl (master brand) - family of pragmatic, powerful text processing languages designed by Larry Wall, TMTOWTDI, helps get your job done
  • Perl Rapta [1] - performant and reliable, large CPAN repository, in production for many years etc
  • Perl Zel [2] - performance is improving all the time, so too reliability, multi-paradigm, (O)fun etc

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

@JJ
Copy link
Contributor

JJ commented Mar 2, 2018 via email

@AlexDaniel
Copy link
Member

@JJ is that pronounced as therl? 😕

@JJ
Copy link
Contributor

JJ commented Mar 2, 2018 via email

chsanch added a commit to chsanch/perl6intro that referenced this issue Mar 3, 2018
It seems that majority of Perl 6 users prefer the .p6 extension. There
are some posts and discussion about it:
- https://www.reddit.com/r/perl6/comments/812cfa/pl_or_pl6/
- Raku/doc#1807
chsanch added a commit to chsanch/perl6intro that referenced this issue Mar 3, 2018
It seems that majority of Perl 6 users prefer the .p6 extension. There
are some posts and discussion about it:

- https://www.reddit.com/r/perl6/comments/812cfa/pl_or_pl6/
- Raku/doc#1807
@coke coke added good first issue If you want to dive in, this would be a good place to start and removed LHF labels Apr 9, 2018
@uchuugaka
Copy link

should have just named the extension as .perl how hard is that?

@jibal
Copy link

jibal commented Sep 2, 2019

Please don't abuse issues with off-topic debates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation issue (primary issue type) good first issue If you want to dive in, this would be a good place to start
Projects
None yet
Development

No branches or pull requests

8 participants