Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^6: Modernizing the Postmodern Language?

by chromatic (Archbishop)
on Jul 14, 2020 at 18:40 UTC ( [id://11119312]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Modernizing the Postmodern Language?
in thread Modernizing the Postmodern Language?

I don't begrudge that one line of boilerplate just so its absence enables a couple of decades of non-breaking backward compatibility.

While I strongly believe good code (and good protocols and good file formats) should include a version number to disambiguate meaning, it's always felt backwards to me that the burden is on users of new releases to enable new, non-experimental things to prevent users who don't update their Perl from having to update their code.

I heard just this week about a company migrating from Perl 5.8 to 5.26 or 5.28. That really doesn't feel like the most important group of users to optimize for: people who want a new Perl every decade-plus.

Replies are listed 'Best First'.
Re^7: Modernizing the Postmodern Language?
by bliako (Monsignor) on Jul 14, 2020 at 19:22 UTC
    ... about a company ... doesn't feel like the most important group of users to optimize for

    I am sympathetic to all points of view in this discussion and neighbouring ones as a way to improve Perl. I also dont have much at stake except that I like Perl and right now building a tool using Perl - so 6month salary. But so far I have not seen anyone mentioning the investment, past, present and future of companies using Perl. That is the money at stake. And I have not heard anyone saying "on behalf of this company or the other we support or oppose these changes". And I am happy not to hear these financial arguments. On the contrary Because, it seems that Perl can pick and choose. But in real life this is not how it works. Companies will oppose or push standards or even legislature just for money. Just a sanity check on my side.

    bw, bliako

      But so far I have not seen anyone mentioning the investment, past, present and future of companies using Perl.

      If I were to be charitable, I'd say it's because most of them are participating in the Tragedy of the Commons and not doing much of anything for p5p.

      (If I didn't care about being charitable, I'd ask why p5p should care about them.)

Re^7: Modernizing the Postmodern Language?
by hippo (Bishop) on Jul 16, 2020 at 08:38 UTC
    it's always felt backwards to me that the burden is on users of new releases to enable new, non-experimental things to prevent users who don't update their Perl from having to update their code.

    Philosophically I would agree. The move to v7 isn't a philosophical one, however; it's a practical one. From a practical standpoint I really can't see how having one line of boilerplate of maybe 10 characters or so can really be classed as a burden. To follow your path I would only need to add it once to my stock script/module template and we're done. And given that this replaces the current, longer boilerplate it's even better. Your new code is shorter, slicker and has all the new features and those still having to support 5.6.0 need do nothing. In the immortal words of the late, great Errol Brown, "Everyone's a winner, baby!".

      I really can't see how having one line of boilerplate of maybe 10 characters or so can really be classed as a burden.

      Besides that, the day Perl 8 comes out, you will be facing the same issue again. You may require people to add a use v8 pragma, or otherwise, require people to change their old Perl 7 code inserting the use v7 one.

      So, in any case, you will have to add the use v7 pragma, the only question is when!

Re^7: Modernizing the Postmodern Language?
by perlfan (Vicar) on Jul 16, 2020 at 08:02 UTC
    > it's always felt backwards

    Precisely correct, IMO. Same burden would be present if we had to do something dumb like use v7;. It's just a bigger "feature turn on" approach. I characterize this as opt in to new features versus opt out. Traditionally perl has done the former, which is what I call backwards and I contend is a big reason for the situation we're in. We just need to do the latter.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2024-03-28 19:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found