Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Next Big Step for Perl 5

by martin (Friar)
on Aug 23, 2011 at 18:34 UTC ( [id://921961]=perlmeditation: print w/replies, xml ) Need Help??

Quote from Larry Wall's keynote on YAPC::Europe 2011:

Perl 6 is our best guess at what Perl 5 ought to evolve into if we had 50 years to do it.
(This is from a snapshot on flickr, thank you kawanet.)

I was not there, but I reckon this underlines what we have come to accept for some time now, that Perl 6 is not an upcoming bugfix release of Perl 5 but something rather different, and quite experimental in nature.

The emphasis on evolution, however, makes me wonder if we are likely to see certain changes in "traditional" Perl any time soon, that make it a better language by removing out-dated features such as bareword behaviour, obscure magic punctuation variables, and the like. A major version number increase might have sufficiently alerted programmers to cope with non-compatible changes, but since "6.*" is now taken, there seems to be no elegant route out of this nicely paint-surrounded corner.

I'd suggest to go for 5<<1 when it can't be 5+1 anymore. Welcome to Perl 10.

Perl 6 fans, don't get angry with me, your language will remain to be greater than that:

perl -le 'print "ok" if "Perl 6" gt "Perl 10"'

Replies are listed 'Best First'.
Re: Next Big Step for Perl 5
by chromatic (Archbishop) on Aug 23, 2011 at 18:59 UTC
    A major version number increase...

    Perl 5 already has major version number increases, such as from 5.12 to 5.14.

      chromatic pointed out:

      Perl 5 already has major version number increases, such as from 5.12 to 5.14.

      Yes, I can see that, but perl5.14 will run almost any program that perl5.12 ran for you, and you probably appreciate this.

      Now suppose, for example, p5p decided it was prudent to deprecate method-name package-name calling syntax. This would mean removing a feature, at least after a transition period with deprecation warnings. The warnings alone would hurt a lot of users of legacy code, who would have expected perl5.(n+2) to be largely consistent with perl5.n. Since p5p tend to be helpful people, they would hesitate to act like that.

      Now if there was an opportunity to switch to a greater integer version number of Perl, there should be much more freedom in design decisions, since it seems reasonable to expect more substantial changes with more substantial version number increases.

      I would like Perl to benefit from that kind of freedom. I understand that initially this notion was part of what started Perl 6. Of course there would be debate about what exactly would have to go into the new version of the language previously known as Perl 5, but I am sure we could end up with something quite practical.

        ... since it seems reasonable to expect more substantial changes with more substantial version number increases.

        That seems reasonable to you. The same number means different things to different people. Certainly you know that Perl 5.15 is a development version, but tell a thousand Perl 5 programmers who aren't tied into PerlMonks or perl.org or IRC or YAPC or Perl Mongers that Perl 5.15.2 is out and see how many of them say "Cool, how can I get it?"

        Perl 5 already had a version number change between 5.005 and 5.6.0. That change meant exactly what the documentation for the version number said it meant. The same would go for any other change.

        The notion of perpetual forward compatibility (where use 5.12.0 means "Anything 5.12 or newer obviously must work!") has its obvious flaws. Fix that—that's one of the real problems, after all—and a lot of the handwringing over the meaning of version numbers can go away.

        Perl is supposed to get a mechanism for that through use v5.099 - see Back to the __future__.

        This is basically orthogonal to eliminating the "5" from "Perl 5" and moving straight to "Perl 16.0" next year.

Re: Next Big Step for Perl 5
by JavaFan (Canon) on Aug 23, 2011 at 21:13 UTC
    The emphasis on evolution, however, makes me wonder if we are likely to see certain changes in "traditional" Perl any time soon, that make it a better language by removing out-dated features such as bareword behaviour, obscure magic punctuation variables, and the like
    Yet it's those "out-dated" features that make Perl Perl. Perl is also about backwards compatability. If you have an urge to work with a language without "out-dated features", there are two options: Perl 6, or Kurila. Well, and the "work in perl5, don't use what you don't like", but I guess that's a bit too simple and obvious.

    IMO, removing features isn't progress at all.

      IMO, removing features isn't progress at all.

      Hi! I wrote a patch for Perl 5 a couple of years ago which added a class keyword. You'd think that'd be an easy change to the lexer and tokenizer, but I had to work around the Perl 4 package separator code—you know, the one that you only ever see in Acme modules, and then infrequently. Yes, that's the same feature that's been deprecated since Perl 5.000.

      Now I understand not everyone might ever want a better syntax for declaring classes or methods or object attributes or regular expressions or file handling or function arguments or whatever syntax other people might want, but think about that. Adding a keyword to the language (without even worrying about whether it's doable in a backwards compatible way) requires working around features deprecated since the first release of Perl 5.

Re: Next Big Step for Perl 5
by Herkum (Parson) on Aug 24, 2011 at 21:24 UTC

    I actually wish that they would change it from Perl 6 to something else. It is similar to Perl, but it is not even close to be a replacement.

    Maybe they should call it Perl-X or PerLW!

      perl#? perl++?

Re: Next Big Step for Perl 5
by perl.j (Pilgrim) on Aug 23, 2011 at 19:31 UTC

    I agree with chromatic but Ii would also like to suggest a name :-) just for fun. Perl Ultra. Lol.

    --perl.j
      I've suggested "Perm" be the follow-on name for the next new language that is Perl's follow-on (Perl 6 only confuses people), which is what you get if you autoincrement the ASCII string 'Perl'.

      It has a strong, long lasting name ('Perm'anent, 'Perm'afrost), and think of all the fun you'd have with tools that worked with a Perm...

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://921961]
Approved by Corion
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-03-29 00:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found