A couple of days ago, Perl 7 was announced.
The announcement was made during a keynote talk at the first day of this year’s Perl Conference (the so-called Conference in the Cloud, TPCiC). It was followed by the Perl Foundation news, an article on perl.com, and an e-book.
Isn’t that a great news? Well, yes and no. I have my personal feelings about this but I hope I can also see some other things that are not so much subjective.
The announcement was a surprise for many people, even for those who follow the Perl- and Raku-related news. On the other side, the announcement flow was very well coordinated, which means they prepared it behind the scene. Which is by itself is not how Open Source usually works.
(Update July 6: It was indeed planned to be a secret announce.)
Is it timely? Take another copy of the number 7, and come with me to the history of just 7 years deep (which is a huge timespan for a software product). In 2013, I hosted the European Perl Conference (YAPC::Europe at that time), and as the organiser, I proposed to have a discussion about the future Perl versions numbers. At that time, it was only 13 yeas since Perl 6 entered the scene, and it was also times when one could think it would never be released. Or it would, or not, . . . just don’t ask.
To support my idea, there was a conference newsletter, a panel discussion with the main Perl 6 people, and an offer to choose a personalised conference T-shirt where the attendees could choose whatever they like: Perl, Perl 5, Perl 6, Perl 7, or something else.
In response to the newsletter, I received a huge pile of negative comments. Well, I am using a neutral word now, as they were not simply negative, they were angry at least (use the words you know to continue the row).
“I don’t think using the ‘Perl 7’ meme is a good idea.”
“‘Perl 7 t-shirts’ are a bad idea. They can only lead to misunderstandings and for those not ‘in the know’ it seems to express the failure of both Perl 5 and Perl 6.”
“I hate it when the complete Perl 6 community will be insulted like this, having discussions about Perl 7 like Perl 6 is a failure. Perl 6 is not a failure.”
“very disrespectful all this, I anyway will boycott YAPC::EU”
These are just some examples that are still publicly visible. I don’t want you to read more of that stuff which landed in my inbox.
What do we hear today? I do not mean that the degree or the format of reactions changed a lot since then, I mean, what is the reaction to the recent Perl 7 announce.
There are a number of enthusiastic comments saying how great that is. There are a (seems to be smaller) number of reactions that something is broken with it.
Some people say that it was not a proper time 7 years ago to talk about Perl 7 as Raku was known under the name of Perl 6. I believe some of those who thinks like that were silently hoping Perl 6 would never be released and that Perl 5 should be the only true language in the Perl family. What is completely ignored here is the missed opportunity to have a massive media response after the rename.
What changed? Making the Perl-5-to-Perl-7 change is a very strong marketing step. Perl was number 9 in 2013, and it is number 16 in 2020. Let me use a silly marketing trick and say the chances to have a stronger output were 77% higher those days.
I completely agree that Perl 7 is a must thing. I completely disagree how it is being marketed now. There are two main problems. First, Perl and Raku are much further away from each other today, and the news are still biased towards the dominance of Perl over Raku. Here’s a keynote slide, where Perl 6 is simply stroked out.
Second, people who do not closely follow the progress with Perl 6/Raku think it really failed, and it never happened. ‘Is there Perl 6 today? No! So, it failed, and they have Perl 7 now.’ Kind of a PHP timeline resemblance in skipping the 6th version. Which, by the way, makes Perl a follower of a language which was often considered a killer of Perl.
I was so happy when Perl 5.10 was released, and I was so disappointed when the smartwatch operator was later announced an operator non grata, and that was an infamous change that indirectly demonstrated Perl will not be backwards-compatibile and it can break your program or a whole system at any moment.
Today, the brand new version was illustrated with an example of using the CGI module, which is considered extremely outdated for ages already. Looks like irony.
In any case, I believe a lot of developers are not digging that deep into the internal frictions of the Perl community, and, on the other side, the Perl Foundation seems to be willing to make the change smooth and would like to enforce some marketing efforts. Let’s see the outcome during the next 7 years 🙂
From a personal perspective, I received a strong confirmation I was so right seven years ago. I will also be happy to use Perl 7 as soon as it comes out, as its today’s version, Perl 5, is still one of the main languages that I use for living. It is great that it is evolving.
What is the advantage of using “direct object”? Why break eggs?
Having to review thousands of lines of code just to change the syntax is not pleasant but above all it is useless.
The advantage of using Perl is its backward compatibility.
Breaking it will result in further loss of people using Perl.
It’s supposed to simplify the parser, allowing for more speed/less brittleness/ease of maintenance/future syntax. It is annoying, and I think “my $foo = new Foo;” reads better, but that’s the only way I use it.
Bare word file handles on the other hand… their sigil-less nature (and my preference for upper case handles) makes them stand out.