The World is going to change (again)! Perl 7 has been announced!This post by brain d foy caught my attention, and it could not be anyway else: Perl 7 has been announced!
Ok, now breathe.
This means we are going to throw into the trash everything we know about Perl 6!
No, I’m kidding!
So what is really happening?
Between 5 and 7 there is rakuA long time ago, I think around Perl
5.8there was the idea of developing a new version of Perl that would break the backward compatibility Perl is very good at, so good I don’t have any other example of a programming language being so resilient across the years.
When you want to make it clear that you are going to break the backward compatibility, what do you do? You change your major version number, and the same happened to Perl so that the idea of
Perl 6took place.
Long story short: Perl 6 was taking too much to complete, and therefore Perl 5 development was continued in what I would call smart mantainance. Perl 5 was not simply under mantainance, but new cool features were added during the years, so that Perl 6 and Perl 5 become siste languages rather than one the evolution of the other.
Then there was a very long discussion about the name changing: since Perl 5 was still actively developed and Perl 6 was not its evolution, the development group decided to change the name of Perl 6 to Raku.
So, let me stress it again: Raku and Perl are not the same language!
However, sooner or later, Perl (5) have to break compatibility and evolve.
And here it comes Perl 7.
The following are my own thoughts about, please note that since I was not able to listen to the announcement, I could be wrong on some of the followings.
How many Perl languages are we going to have?I believe that, apart from the transitional period, we will end up with two languages: Raku and Perl. The latter will be meant to be Perl 7, so when you will end up developing in old Perl you will probably say Perl 5 as today you could speak about Perl 4.
What about Perl 5?Perl 5, or better, “Perl as we know it today” is going to be in long-term maintanance, that is a fancy way to say it will live for another decade or so.
What about legacy code?I guess sooner or later you will end up either adjusting your code to the newer Perl or to keep a Perl 5 release around.
Why not evolving Raku?Raku and Perl are, today, different languages with the same (or similar) mindset and approach.
Perl 7 is the natural evolution of Perl 5, Raku is a different implementation of the Perl culture.
What is Perl 7, practically?Perl 7 is, as of today,
Perl 5.32with a different default setup out of the box. The idea is to progressively mgirate the developers and users to different features of the language removing awkward and old compatibilities.
And then to evolve from there.