Perl 7 - Final Thoughts

First, I want to apologize. My follow-up to the Perl 7 post was not very polite. When I predicted that "nothing" would happen, even if people wanted it, I could have said that in a much kinder way. In particular, my apologies to Ricardo for that.

As for "Perl 7", let me be clear: I don't support it. I originally asked the question because I wanted to know what people thought and instead of kicking over a rock to see what was underneath, I kicked over a hornets nest. More importantly (to me), I got my answer in spades.

For a wide variety of reasons Perl 7 is not going to happen. First and foremost, those who hold the keys to that change say "no" and your option, if you disagree, is to go fork yourself (*ahem*). That, however, is problematic. There are very few people who are qualified to hack on the Perl core and I'm hard-pressed to see a fork gain enough momentum to convince those hackers to work on it. I don't see a fork being an option.

Another issue is simply that the Perl 6 team has done some great work and it's (still) getting closer to fruition. (Jonathan's recent work on porting to the JVM is particularly interesting.) Renaming Perl to Perl 7 without their consent would not only cause a deep fracture in the community, but it would do so with no clear benefit, either. It would also confuse the hell out of the Perl 6 message and, in my opinion, hurt Perl more than it would help.

Reluctantly, I think the alternative is to accept the suggestions to rename Perl to Perl5 and version that instead (type perl -v on a relatively recent Perl and you'll see that this is hinted at already). I've been swayed by the arguments. It's not that I think it's a good way forward, but I think it's the only way forward that I can see. I've also been swayed by the arguments that without major new features, pushing a new major version wouldn't accomplish that much. After all, people might swing by to check things out and think "yeah, nothing to see here."

The one argument I didn't buy was "we need to write great software". We're doing that already and if someone thinks "write great software" is all we need to attract people to Perl, that's a slap in the face of everyone who's already doing this (please note: I am not suggesting that this is what Ricardo meant, but it does seem to be what some people think). The Perl community cannot wait for an RoR moment. We can already see that hype fading and now the Ruby naysayers are definitely being heard.

So I asked a question and I got an answer ... far louder than I had expected.

20 Comments

Sigh of relief... Thanks for this article. I really hope people are going to pay more attention to the accomplishments of the Perl 6 development team.

It would also confuse the hell out of the Perl 6 message

The "Perl 6 message" has confused the hell out of the Perl 5 message for 13 years. I'm sorry no one feels that is worth dealing with.

I think it would have been better to rename "Perl 5" to Perl++, Perl# or similar instead of just Perl5 if we want it to be noticed outside the perl community, but as long as it makes it mentally easier to break backwards capability with Perl 4 and older I'm reasonably satisfied.

Actually, I would go for Perl++ as opposed to most "rename Perl 5" ideas. Most people know that C++ can compile C (with some small considerations). Perl++ (ver whatever, 20?) could be 5.20 with many of the new goodies on by default (see my post). We get the bump, old code runs (perhaps with no strict added), and Larry keeps his number.

Loving the Perl# idea.

In this era, naming something Perl# would make it appear that we are unaware of hash tags or don't know how to use them.

Did you mean #Perl?
No, I meant #Perl#.

Perl# would make people think it needs .Net. I still like Perl++ !

I don't think renaming Perl 5 to Perl5 would change anything at all. Do you really believe people would suddenly see Perl in a different light just because one white space was removed?

I like the idea of changing the language name itself, although "Perl++" is too contrived in my opinion.

There are a large number of us who think that something that is seen as a major release for Perl (5) would actually help significantly, whether it is bumping the major version number, or renaming (to effectively allow the same).

The problem is that many people outside the Perl world assume that 5.0 isn't much different from 5.18 and so they stay away; after all, who wants to program in a language from 1994.

I agree with Joel, especially in terms of bringing in new Perl developers. These are the type of people who have very little to information they can actually understand to base their choice of languages on. So thoughts like "I don't want to pick an obsolete language" lead them to either: a) abandon the idea of Perl immediately, or b) read about Perl 6 (the newest, not obsolete, Perl), find out its not easily available for them to use/learn with, and then abandon the idea of Perl immediately.

Excuse the hyperbole.

Ruby 1.x came out in 1996 and Ruby 2.0 isn't quite out yet. The argument that "A major version number hasn't changed" doesn't work for me.

The argument that Perl's Osborned itself holds more water with me, but that only leads to the debate over whether Perl 6 will only take a few more years to get useful or always take a few more years to get useful.

In truth I'm sure there is both, but either way, if Perl (5) is to be a distinct language (ie no real move to deprecate it on Perl (6) release) then it must have (numerical) room to grow. As I said in my post there needs to at least be the possibility of breaking release, whether or not that comes soon, or else the language is ...

One one hand, I perfectly understand the problem of Perl being stuck without a numerical version update for ever: being stuck on 5 whatever advancements the language has made. On the other, I also perfectly understand that going straight from 5 to 7 without renaming Perl 6 would hurt the Perl 6 efforts.

Both sides of the argument make sense.

But s/\s//? Really? If our compromise superpowers are that weak and only that's on the table (it doesn't even try to solve the original problem), I'd reluctantly say just don't bother and leave it as it is.

All I know is that I still like Perl\s?(?:5|6). Even after all this fuss. Even after subscribing to p5p, which means I need to adjust an earlier hypothesis of mine about only liking Perl if I ignored the community.

I liked the Perl 7 idea, but it seems clear that Perl 5 is the end of the line (major number wise) for the Perl we use now. The future of Perl is Perl 6 and its successors, Perl 7, etc. It's Larry's call as it should be. Don't like it, fork it.

For those of us who like the language we are currently programming, the Perl5 2013 concept makes a lot of sense. It conveys a sense of at least being currently maintained, even if not a sense of big, new changes. Beats the heck out of 5.18. Not the whole loaf, but a few nice slices.

"Oh look, those funny folks are still using that old Perl. Hey, they're doing updates... I thought they stopped doing that years ago. I wonder what they're up to?"

Perl++ is confusing. Perl# makes me shudder.

Ooops, I didn't intend to open that can of worms again.

At least it haven't made it's way into the perl porters mailing list thread (yet!).

I guess that the only way the language would possibly be renamed is if someone forks the current implementation and is successful enough to bring the community with it. The biggest problem I see with that is that there are only a handful of people that knows the perl core source code well enough to successfully fork it and they have their hands full with the core as it is. And in all likelihood they are not interested in forking the core either.

On top of that the fork would , IMHO, need the blessing of Larry to have a perl language family name (e.g. perl++ if it includes better OO from the start) instead of a completely unrelated name.

Pe(a)rl++ == Rhodochrosite

Though, I would be more worried about who is going to make the successor of Perl 5 a reality than about its name!

Lets just rename it to Peril, then go on rapid release cycle like FireFox. Then we can have a new major release every couple of months, and all the huge benefits that have come with that: https://wiki.mozilla.org/RapidRelease/Calendar

Of course, I'm joking.

I can't help the feeling that if the effort from all these years of Perl 5/Perl 6 attrition, had been directed into Perl 6 as they naturally should have been, it would have been ready some time ago. Instead the dog chooses to keep chewing on it's own leg.

@Wendy - The Perl 6 team is a disaster. Perl 6 is a disaster. Time for Perl 5 -> 7 and skip Perl 6. Sometimes it is hard to be honest with ourselves. The Perl 6 team must understand the mistakes and move on it is that simple.

I agree. Just leave things the way they are. Why change? What is the reason?

About Ovid

user-pic Freelance Perl/Testing/Agile consultant and trainer. See http://www.allaroundtheworld.fr/ for our services. If you have a problem with Perl, we will solve it for you. And don't forget to buy my book! http://www.amazon.com/Beginning-Perl-Curtis-Poe/dp/1118013840/