Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Modernizing the Postmodern Language?

by Anonymous Monk
on Jul 10, 2020 at 14:17 UTC ( #11119146=note: print w/replies, xml ) Need Help??


in reply to Modernizing the Postmodern Language?

The only thing that really matters about Perl 7 is that it must run all existing applications and all of CPAN without modification. "The Perl language" is actually very small -- what matters is CPAN. It does not matter how "good" your changes are if they are breaking changes. Plenty of PHP sites chose not to "upgrade" to PHP-7 because of the many arbitrary breaking changes which caused production software to immediately stop working until sometimes very-extensive changes were made. If Perl-7 breaks existing systems in any way at all, it too will not be adopted: people will simply remain right where they are, and this will be the right decision. Perl's success leaves language designers with very few options.
  • Comment on Re: Modernizing the Postmodern Language?

Replies are listed 'Best First'.
Re^2: Modernizing the Postmodern Language?
by chromatic (Archbishop) on Jul 10, 2020 at 18:53 UTC
    The only thing that really matters about Perl 7 is that it must run all existing applications and all of CPAN without modification.

    If that were true, a few releases in the 5.2x series would never have been adopted.

    Because they were, I think your thesis is untrue.

      I think it is untrue also, but not completely. Simply becoming slightly more aggressive about "new features available by default" (or even not possible to turn off) coupled with moving slowly enough as to allow for old code to be updated with minimal effort is key. Breaking changes are fine, requiring total rewrites of broken scripts from version to version is not so fine. These days, most have been conditioned to accept breakages from version to version. There's even a defacto standard based on 3 digit version numbers that dictates when to expect breakages. For example, change from 5.30.0 to 5.32.0 - expect some minor breaks; from 5.32.0 to 5.32.1 expect no breakage; from 5.x to 7.x - whoa hold ur butts. Another reason I think we'd be better served with keeping 5.x and being more aggressive with new featuers on until the latest 5.x is SO different from (say 5.32.0) that it is literally a fully different major version.
        moving slowly enough as to allow for old code to be updated with minimal effort is key

        I get this argument, but say was added in Perl 5.10, released in December 2007. You must still explicitly enable it 12 and a half years later in Perl 5.32. The only thing that can break if say were made available by default is code that defines its own function named say.

        How much more slowly can Perl move?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11119146]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2020-09-30 03:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (158 votes). Check out past polls.

    Notices?