Mailing List Archive

Perl 5 vs Perl 7
Dear perl Porters,

I believe that the intense discussions which have taken place on this list for the last
few weeks, may be "confused" or "poisoned" by the basic "version thing".

Because of the unfortunate "perl 6 namespace" episode, for the past 2-3 years (or is it 5,
I lost track), perl has been constrained to using higher and higher version/subversion
numbers is the 5.x.y series. But it is by and large a consensus now that perl's version
numbering should at some point "jump over" the fatidic 6.x series, to 7.x.y, and then
continue happily thereafter.

So why don't we do that first, independently of any major or minor "breaking change".

In the practice, what I propose is that there would be next a release of perl 5.34 (?) AND
perl 7.0.0, *absolutely identical apart from the version number*, and then that 5.34
remains as the last "5.x" version forever, an that future versions of "7.x" resume the
gradual "corrections, non-breaking improvements" cycle that perl has basically followed
for the last 20+ years.

And then, a bit later (*) and/or in parallel, restart a discussion about a "more modern
perl", and whether it should or not introduce breaking changes, whether or not it would
continue to work with the majority of CPAN modules, and whether or not it would then
become another programming language "in the perl tradition/family" with its own name
("perl++" ?).

My own main reason for the above, would be to avoid what I believe may be an endless cycle
of annoyance and confusion for /mere perl users/ (and their bosses), related to things
like "use v5.x / use v7.y", and whether or not CPAN modules are compatible with this or
that version etc..
Because I believe that in the practice, this would in the end kill the language (**).

Furthermore, I would urge anyone to re-read the "manifesto" as per
https://www.perl.org/about.html, and reflect on what has made perl a great programming
language for over 30 years now. And I just wish that nobody would destroy that, no matter
what good intentions would be behind such an action.


(*) such as maybe when things have settled in terms of any major OS distribution having
this new "7.0.0" version as it's standard "perl" package, with a reasonable expectation
that it does not kill too many existing applications, modules, mod_perl etc..

(**) which is, in my modest opinion, the greatest, most flexible, most stable and most
universal programming language ever invented. But it is nowadays "fragile" in terms of
acceptance, and we should not forget that when thinking about changes which just /might/
put off some of its users.
Re: Perl 5 vs Perl 7 [ In reply to ]
On Wed, Aug 12, 2020 at 5:17 AM André Warnier (tomcat/perl) <aw@ice-sa.com>
wrote:

> Dear perl Porters,
>
> I believe that the intense discussions which have taken place on this list
> for the last
> few weeks, may be "confused" or "poisoned" by the basic "version thing".
>
> Because of the unfortunate "perl 6 namespace" episode, for the past 2-3
> years (or is it 5,
> I lost track), perl has been constrained to using higher and higher
> version/subversion
> numbers is the 5.x.y series. But it is by and large a consensus now that
> perl's version
> numbering should at some point "jump over" the fatidic 6.x series, to
> 7.x.y, and then
> continue happily thereafter.
>
> So why don't we do that first, independently of any major or minor
> "breaking change".
>
> In the practice, what I propose is that there would be next a release of
> perl 5.34 (?) AND
> perl 7.0.0, *absolutely identical apart from the version number*, and then
> that 5.34
> remains as the last "5.x" version forever, an that future versions of
> "7.x" resume the
> gradual "corrections, non-breaking improvements" cycle that perl has
> basically followed
> for the last 20+ years.
>
> And then, a bit later (*) and/or in parallel, restart a discussion about a
> "more modern
> perl", and whether it should or not introduce breaking changes, whether or
> not it would
> continue to work with the majority of CPAN modules, and whether or not it
> would then
> become another programming language "in the perl tradition/family" with
> its own name
> ("perl++" ?).
>
> My own main reason for the above, would be to avoid what I believe may be
> an endless cycle
> of annoyance and confusion for /mere perl users/ (and their bosses),
> related to things
> like "use v5.x / use v7.y", and whether or not CPAN modules are compatible
> with this or
> that version etc..
> Because I believe that in the practice, this would in the end kill the
> language (**).
>
> Furthermore, I would urge anyone to re-read the "manifesto" as per
> https://www.perl.org/about.html, and reflect on what has made perl a
> great programming
> language for over 30 years now. And I just wish that nobody would destroy
> that, no matter
> what good intentions would be behind such an action.
>
>
> (*) such as maybe when things have settled in terms of any major OS
> distribution having
> this new "7.0.0" version as it's standard "perl" package, with a
> reasonable expectation
> that it does not kill too many existing applications, modules, mod_perl
> etc..
>
> (**) which is, in my modest opinion, the greatest, most flexible, most
> stable and most
> universal programming language ever invented. But it is nowadays "fragile"
> in terms of
> acceptance, and we should not forget that when thinking about changes
> which just /might/
> put off some of its users.
>

I think it would be a serious disservice to use a new major version without
taking advantage of the messaging benefits it provides, when we can do so
uncontroversially and compatibly by making use of "use v7". Releasing a
Perl 7 which does not do anything new would also be a failure.

-Dan
Re: Perl 5 vs Perl 7 [ In reply to ]
André Warnier (tomcat/perl) wrote:
> So why don't we do that first, independently of any major or minor
> "breaking change".
>
> In the practice, what I propose is that there would be next a release of
> perl 5.34 (?) AND perl 7.0.0, *absolutely identical apart from the
> version number*, and then that 5.34 remains as the last "5.x" version
> forever, an that future versions of "7.x" resume the gradual
> "corrections, non-breaking improvements" cycle that perl has basically
> followed for the last 20+ years.

If some lib regex's "perl --help" or "perl -V" or does a "== 5" its
already on the edge of being forwards compatible. Windows only switched
from "5" (Windows 2000) to 6 (Vista) after 7 years with massive
breakage. And they went back to 6.X numbering ever since.

Somewhere on Oldnewthing blog, some "ISV"s coded "if ($ver > 5) { die
"Please contact your sales representative for an extended support
agreement";}". I hope no Perl software does that ;-D
Re: Perl 5 vs Perl 7 [ In reply to ]
> Releasing a Perl 7 which does not do anything new would also be a failure.

A new major version could be useful as part of a "marketing campaign"
tied into some new major features (real or perceived): I don't think
we've got anything like that on the table. Most of the improvements
under discussion (e.g. getting a basic MOP in core) in the ears of
outsiders would, I think, just translate into "well, maybe it sucks a
little less".

But then, there are things that perl already does well and is never
given credit for (you never see speed benchmarks comparing perl to
python... I wonder why that would be?), and it would be a mistake to
think that this is a war fought on a level playing field where people
make technical decisions solely for technical reasons.

Trying to be "optimistic"-- always a struggle for me-- there might be
a way to use Version 7 to draw attention to the various improvements
that have accumulated post-5.8.

I agree with the André Warnier about moving very carefully in these
waters-- I've talked to some people who have an attitude something
like "perl is dying, we've got to do something!" without recognizing
that some things-- like "breaking CPAN"-- might just hasten the
process.