Submitted via IRC for TheMightyBuzzard
This morning at The Perl Conference in the Cloud, Sawyer X announced that Perl has a new plan moving forward. Work on Perl 7 is already underway, but it's not going to be a huge change in code or syntax. It's Perl 5 with modern defaults and it sets the stage for bigger changes later. My latest book Preparing for Perl 7 goes into much more detail.
Perl 7.0 is going to be v5.32 but with different, saner, more modern defaults. You won't have to enable most of the things you are already doing because they are enabled for you. The major version jump sets the boundary between how we have been doing things and what we can do in the future.
Remember, Perl was the "Do what I mean" language where the defaults were probably what you wanted to do. In Perl 4 and the early days of Perl 5, that was easy. But, it's been a couple of decades and the world is more complicated now. We kept adding pragmas, but with Perl's commitment to backward compatibility, we can't change the default settings. Now we're back to the old days of C where we have to include lots of boilerplate before we start doing something:
[...]
This is slightly better with v5.12 and later because we get strict for free by using setting a minimum version:
[...]
Perl 7 is a chance to make some of these the default even without specifying the version. Perl 5 still has Perl 5's extreme backward compatibility behavior, but Perl 7 gets modern practice with minimal historical baggage.
Source: https://www.perl.com/article/announcing-perl-7/
(Score: 1, Interesting) by Anonymous Coward on Monday June 29 2020, @03:59PM
I think the jump to Perl 7 is so that if someone did a web search for "Perl 6 do X" they don't get code snippets from Raku instead of for Perl 6.
I just tested file IO and you're correct, it is horrifically slow. Small files are fine - I have a web media server written in Raku running right now without issues. But reading a 100MB file from a spinning platter drive took almost 10 minutes and used many GB (?) of memory. There are features you can use to improve speed and reduce memory usage, but the defaults shouldn't be this wildly bad. Thanks for mentioning it, I'm going to open a Github issue.