43 comments

[ 3.3 ms ] story [ 87.9 ms ] thread
(comment deleted)
I really think such a move would be overly confusing

* Perl 7 coming out before Perl 6

* Perl 7 being compatible with 5

* Perl 6 being compatible with neither 5 nor 7

I think that it could be explained away in that Perl 6 was an experiment with enough major changes that it never took hold, and that Perl 7 was moving the language forward rather than waiting for Perl 6 to gain widespread adoption.
However once (if) Perl 6 does come out and take hold I still think this would cause confusion.

Explaining it is also a solution to the 'problem' they are trying to solve here, namely that 5.x seems 'dead' and 6.x seems 'alive'. A little explanation that the 5.x branch will continue to exist seems a lot easier (and less confusing).

What really needs to happen is that Perl 6 needs to be scrapped or renamed to something else. At this point there are so many major changes, that it can't really be called Perl anymore.
But this kind of version skip has some precedents. At least the Winamp "we messed up 3 so badly that we're going to skip a version" 5, comes to my mind.
Is perl 6 messed up? I haven't had the time to look at it, but it doesn't seem to.
It would have to get substantially less vapor-y to even qualify as "messed up".
I didn't want to imply that. It was only the reason for winamp version skipping.
I'll begin with the standard disclaimer that I'm a bit out of touch with the Perl community (but that won't stop me from commenting). Technically, this has been done before with the abandonment of ECMAScript 4 in favor of skipping from ECMAScript 3 to ECMAScript 5.
If they go with Perl 7, what will they call Perl 6 when it needs a new version?
It certainly can't be any worse than all the name changes Delphi has gone through over the years.
I think that going with Perl 7 would be good for the Perl community as a whole.

The Perl 6 crew has had over a decade to get something useful put together. While Rakudo is mildly interesting, it isn't practical in the same sense that Perl 5 is. Given Perl 6's lack of traction, I think it's reasonable to consider it a dead effort at this point.

Perl 7, on the other hand, would be very usable right away. It would immediately reflect the changes that we've seen with modern Perl, but without the stigma associated with Perl 6.

At the very least, it would show that the Perl community is again moving in the right directly, with the emphasis on a language that is usable today, rather than on one that has floundered for many years now.

I strongly agree. I don't follow Perl, but I have long thought "I'll have a look when Perl 6 gets stable, not a lit off point looking at Perl 5, it's old and going to disappear soon anyway."

At this point, I suspect the gap which would be filled by Perl for me is already filled by python. But if I had a firm feeling that Perl 5/7 was not going to be eclipsed by Perl 6, I would be tempted to give it a try, mainly because I have found python is not a good replacement for grep/awk/find/xargs, and I suspect Perl might fit that niche better.

What is the best way to learn "modern Perl"? Or am I better off learning "old Perl"?

What is the best way to learn "modern Perl"?

I wrote a book called Modern Perl. It's freely available in electronic formats:

http://onyxneon.com/books/modern_perl

This is the stuff that keeps me coming back to Hacker News.
This book (and reading CPAN documentation) is how I learned Perl. Its a fantastic guide to getting started with the language and some things you will run into no matter what (Moose for example).
its an awesome book, just bought it from amazon like two weeks ago, its amazing how simple it makes it to pick up Perl quickly
Going through the online version now. Very pragmatic writing style and wastes no time in getting to the point (Kernigan/Ritchie influence is seen).

Very nice. Thank you for sharing it with one and all.

The consensus forming in the comments to the post seemed to be around the idea of switching to a year-based versioning system, so Perl 2013. That sounds like a great idea to me.
Ugh, that seems terrible. It smacks of compromise, when what the perl community needs is a fresh set of ideas.

They need to name Perl 6 something else fix the image of Perl 5. Perl 6 should never have been named Perl anyway, it's a brand new language.

I think it was not clear, for a long time, just how divergent Perl 6 would turn out to be. If you look back (way back) at the original RFC process, most people were proposing fairly minor changes to the language; and it was billed as an opportunity to clean up a lot of cruft at a one-time compatibility cost. Rather like Python 3, in fact. But then it bit off more than it could chew, and as you say it is now envisaged as a new language sharing some Perl heritage.
That's true, however it's been clear for at least 4-5 years now that Perl 6 was a boondoggle.

From the outside the Perl community looks like its barely holding together.

From what I understand a lot of the Perl community mostly ignores Perl 6, and is focused on the Perl 5 base (as shown by the up-tick in development/changes on the core of Perl 5).
I've long since stopped using Perl so forgive my ignorance.. Is Perl 6 widely understood in that community to be a different language and not the evolution of Perl? That's what the discussion on this blog indicates. Is the Perl 6 language a dead end or are people enthusiastically working on using it for production systems? I truly don't mean this question as flamebait, I am curious what the consensus is in the Perl community.
Is Perl 6 widely understood in that community to be a different language and not the evolution of Perl?

Yes, in part because it's taken so long and delivered so little and in part because Perl 5's core development picked back up again a few years ago (and the CPAN never stopped improving).

Is the Perl 6 language a dead end or are people enthusiastically working on using it for production systems?

The intent of the people working on it is to produce something which will eventually be usable for serious projects, but no one can give a good prediction as to when that will happen.

Given that specifications such as Unicode, Security and a Standard Library are examples of the Synopses still "TBD" after all these years, many Perl users will have retired from programming entirely before Camelia/Perl 6 is "of use." The fact that major Synopses such as these are left to the end is not necessarily reassuring either.

http://perlcabal.org/syn/

A few years ago, the next version of perl was going to be version 6. There were to be a lot of changes that I did not really like; I forget most of the details, now. I have not had any deep conversations about this with anyone, but I suspect that I was not alone in my opinion. So yes, I think most perl programmers have completely ignored the perl 6 proposal, and as a consequence, perl 6 simply hasn't happened.

As proposed, I would definitely consider perl 6 a different language, and if perl 5 were phased out, I would probably give up on perl and switch to python. As it happens, perl 5 is still around, and I still use it, and I had sort of forgotten about perl 6.

I recently took a few years off full-time development to attend grad school, and whenever I worried about my skills getting out of date I'd tell myself, "I'll know I've stayed too long if I'm still here when Perl 6 ships." As it turns out I've been back in full-time development for the last two years, and it still isn't ready.

Perl was my "first love," but I think almost all developers who would have adopted Perl 6 have already moved on to Python or Ruby.

Or stayed with Perl 5. The last couple of years has seen a lot of development on the core of Perl 5, and there are a ton of libraries on CPAN to make up for some of the language deficiencies that would require severely backwards-incompatible changes to the language.
I love the idea, it's time to move on.

Perl5 is God. Perl6 is Jesus who will never ever return to Earth no matter how much we pray. Perl6, R.I.P.

I care so much more about the existing modules on CPAN, written for Perl5, than the [insert feature] of Perl6, or any other copy cat languages.

What does that make Perl 7, the Holy Ghost?
Careful there. Larry Wall, the creator of Perl, is a born-again Christian who believes that Jesus will return to Earth. This event will be called the "second coming," or "parousia."

Presumably Perl 6 will be ready by that point. If you get "left behind," you can always while away the time writing Perl 6 programs, whilst waiting for the Seven Angels of the Bowl to pour out their plagues upon the Earth.

P.S. The name of the Perl language is a biblical reference to the "pearl of great price" from Matthew 13:46. Srsly.

After backporting all of Perl 6's new features into Perl 5, rename it Perl 11 because 5 + 6 = 11.
What does this-here open-source outfit look like to you -- WinAMP?
Perl 6 is a perfect example of both Fred Brooks' Second System Effect and Joel Spolsky's Things You Should Never Do.
why not have even numbered perls be the big language experiments and odd numbered perls be actual production ones with some of the goodness from the experiments baked in?
Recently, I watched someone code in Mojolicious (a remarkable Perl framework). It was simple, brilliant, elegant and yet felt incredibly lightweight as well - lots of wow-factor.

But sad to say, most will never see such beautiful things, merely because of the version number. That's life, I guess.

"Perl 5" is a programming language. So is "Perl 6". They're sister languages, not competitors.

This release will be "Perl 5" version 20.

As the guy who was responsible for 5.12 and 5.14, I think this is a horrible idea. It'd lead to incredible amounts of user confusion and break all sorts of shit for pretty much no upside other than a version number pissing match with Perl 6.

And yet, it pains me to say (ouch!), mindshare is a function of version number. User confusion? It's already out there, in the form of misinformation.