Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Will Perl 6 Replace Perl 5?

by aecooper (Acolyte)
on Jan 03, 2010 at 14:57 UTC ( #815428=perlmeditation: print w/replies, xml ) Need Help??

Sorry for such a mundane topic but I haven't come across a definitive answer to this one. Having a quick look into Perl 6, whilst there are many new cool features, there are some things that seem to inflame/amplify some of the bad points in Perl 5. I love Perl 5 and I know that it isn't going to disappear very quickly or even ever because of all the Perl 5 code out there. But will it go into a maintenance only mode with a strong impetus to switch to 6 or will in fact the languages split and carry on separately? I noticed that one of the Perl 6 sites refers to Perl 6 as a sister language, implying that a split might be the case.



Replies are listed 'Best First'.
Re: Will Perl 6 Replace Perl 5?
by masak (Scribe) on Jan 03, 2010 at 17:20 UTC

    Perl 5 will be around for a long, long time. It will have patches and releases and modules and community, just as before.

    Perl 6, on the other hand, is in an early stage of its lifetime. Implementations, with Rakudo currently in the lead, are still suffering from various issues that rule out using it in production for most people. The speed of development is impressive, but there's a long way to go from zero to something.

    That said, there are already many interesting points of use for "early adopters"; people who want to get a taste of what it's like to code in Perl 6. If you decide that you are an early adopter, and take Rakudo for a spin, you'll discover that some of the features are quite solid, and really nice to use. At least that's the way it worked out for me, since early 2008.

    In some sense, the question "Will Perl 6 replace Perl 5?" isn't relevant yet, because the sisters in question are 22 years old (Perl 5) and, depending how you see it, 9 years old (Perl 6 announcement), 6 years old (last apocalypse finished), 2 years old (Rakudo development picks up speed) or not even born yet (release of a widely usable implementation). No matter which metric you use, it's something of an apples-and-oranges comparison between the established, stable, fast Perl 5 and the still-infant Perl 6.

    Even so, it's an understandable question. Underlying it is some natural worry about the fate of both Perl 5 and Perl 6. Inherent in some of the rhetoric used for Perl 6 is that it's the "next version" of Perl (i.e. more advanced than Perl 5), that it's meant to replace Perl 5 long-term, and that it "fixes" Perl 5 by being a "second system syndrome done right". Even the name, Perl 6, indicates that it's somehow the "next step" after Perl 5.

    Well, it is. There's no way around it. That's why some of us are dedicating a lot of our available tuits to building on Rakudo and other Perl 6-related things: because Perl 6 promises to be more extensible, more adaptable to change in the coming 100 years, and more whipuptitudinal and manipulexant than Perl 5. (Nobody is claiming that current implementations are any of those things yet to any significant extent, though. See "still-infant" above.)

    As any large-scale ground-breaking project, the Perl 6 effort as a whole might fail to deliver. That is always a risk; that one day comes when no-one is working towards making Perl 6 happen, piece by piece. Having seen the rocketing development in the past two years, I find such a scenario unlikely, but realistically, you never know.

    Use Perl 5. A lot. It's a great tool in your belt. And do try out Perl 6; maybe its completion already intersects with your early-adopterness.

Re: Will Perl 6 Replace Perl 5?
by talexb (Canon) on Jan 03, 2010 at 18:57 UTC

    I started using Perl in 1997 or so, which was shortly after Perl 5 had been released. Even then, it was clear that it was a big improvement over Perl 4, and I sense that, for that reason, there was a big move to Perl 5.

    13 years later, there's a ton more Perl 5 out there; Perl 5 itself is still under active development, and is a great language; Perl 6 offers some improvements, but is still a young technology.

    I wouldn't characterize the Perl 5/Perl 6 situation as a 'split'; I expect many, many people are still working with Perl 5, but are trying a few things in Perl 6. But there's no rush here. Remember, it'll get done by Christmas -- just don't ask which one. :)

    My conclusion right now is that Perl 6 will have a much slower adoption rate than Perl 5 did, and Perl 5 will be around for quite a while.

    Alex / talexb / Toronto

    Team website: Forex Chart Monkey, Forex Technical Analysis and Pickpocket Prevention

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: Will Perl 6 Replace Perl 5?
by jettero (Monsignor) on Jan 03, 2010 at 15:26 UTC
    I don't think there's a clear way to migrate from perl5 to perl6. I'm expecting them to evolve side by side for quite a while. I don't think I'm alone in that thinking. They're really separate languages in the same family.


Re: Will Perl 6 Replace Perl 5?
by JavaFan (Canon) on Jan 03, 2010 at 23:22 UTC
    The languages have split a long time ago. Most people don't believe that Perl 6 is "the next version of Perl". The language is different enough that "Perl 6" isn't an appropriate name.

    At the most recent London Perl Workshop, 'Perl 6' was only mentioned during a single lightning talk - and the plea was to call it something else (Rakudo was suggested). As the speaker (Edmund von der Burg) said: each time you say "Perl 6", Perl5 dies a little.

    IMO, Rakudo (or Perl 6) will not make Perl 5 die, just as Ruby, PHP or Kurilla did not kill Perl 5. Perl 5 will only "die" if people stop maintaining it* - and even then it will die only slowly. It's only truely dead if noone uses it anymore.

    * Which means that it's up to you (a generic you, not just Tony). Musing about whether Perl 5 will die or replaced by Perl 6 on Perlmonks doesn't help Perl 5 at all. If you want Perl 5 to keep living, contribute. Write patches. Write bug reports. Write tests. Add to the documentation. That matters. If people stop contributing, Perl 5 will die, regardless what Perl 6 will do. If people contribute, Perl 5 will live, regardless what Perl 6 will do.

      Most people don't believe that Perl 6 is "the next version of Perl".

      That's what many people say, but when I engage them in discussion I find that what many people actually mean is

      Perl 6 is not the next version of Perl 5

      Which is right, of course.

      In some ways Perl 6 is quite different from previous Perl versions: it breaks backwards compatibility, is developed in a different mode (specification and test suite first, multiple implementations possible), has a slightly different syntax.

      But what makes a language Perl? It's only partly the syntax; it's mostly the principles behind the language: DWIM, whipuptitude, TIMTOWTDI, (limited) correspondence with natural language and so on. I've written about that before.

      Still I can see why many Perl 5 programmers fear the "Perl6 is the next Perl version" statement, and deny it because they fear it: It's not yet near wide spread adoption, there's no clear migration path, it's not backwards compatible, etc. That's why it's important to communicate clearly that it's not the same situation as with gcc, for example: Users of gcc-$version will eventually have to upgrade to gcc-$higher_version, because gcc-$version will stop being maintained, and thus not being ported to modern CPU architectures, libc version etc.

      I don't see that risk for Perl 5 any time within the coming decade: Even when we'll have a Perl 6 compiler that is fast, stable and portable, and implements a sexy Perl version, tons of software and libraries will keep Perl 5 alive. And of course the stubborn programmers that just love Perl 5, and will continue to love it even if "the next major version" is there.

      Perl 6 - links to (nearly) everything that is Perl 6.
        I find that what many people actually mean is
        Perl 6 is not the next version of Perl 5
        Which is right, of course.
        Well, duh, that the latter is true is bloody obvious. Perl 5.10 isn't the next version of Perl 5.8 either.

        I can't talk for the people you've engaged in discussion, but when I say that I think "Perl 6 isn't the next version of Perl", I mean it in the same way as if I say that I don't think that "Kurilla isn't the next version of Perl". Nor have I considered Ruby to be a version of Perl ('next', 'different', '...').

        Still I can see why many Perl 5 programmers fear
        Fear? Noone was talking about fear. And the people I talk to, don't fear Perl 6. Just as they don't fear Ruby. Of Java. Or C. Or any other existing or emerging language.

        It's a bit cheap to dismiss people who refuse to drink the Perl 6 Kool-Aid as being fearful.

        For me it comes down to a couple questions. And I've got a feel that these are some of the actual questions many people are looking for answers for:

        1. When will Perl 6.0(.0) be stabilized?
        2. Which Perl 6.(* + 1, 2, ...) is expected to not break Perl 6.*
        3. When will the developers of the spec consider it stable enough to value back-compatibility and/or ease of upgrade over progress?
        4. When's Rakudo expected to catch up with the former?
        5. Will I be able to use the CPAN?
        6. When will I be able to use the CPAN, and how much of it?

        Personally, I think I know many of the answers, but they're probably outdated because I'll personally probably be on Perl 5 unless there's either a strong access to CPAN or CPAN like functionality, or Perl 6.* is stable enough for casually writing CPAN modules without frequent breakuppage.

        So, in essence, people might say "Perl 6" and not "Perl 6.0.0," because they don't know the planned versioning scheme for the specification, or the version of the specification that is planned for the above language criteria.

        EDIT: Mixed up some versions in the list

        Ordinary morality is for ordinary people. -- Aleister Crowley
      Most people don't believe that Perl 6 is "the next version of Perl".

      Citation please.

      The language is different enough that "Perl 6" isn't an appropriate name.

      The one person who gets to choose the name disagrees.

      ... each time you say "Perl 6", Perl5 dies a little.

      If only that had been true of Perl 5 and Perl 4! Then again, I suppose that adding lexical variables, first-class functions, method dispatch, a library system, and true nested data structures is less of a leap than adding function signatures, a metamodel, multi dispatch, grammars, continuations, junctions, hyperoperators, pervasive laziness, ubiquitous blocks, and I've forgotten a few.

        The one person who gets to choose the name disagrees.

        One person who disagrees gets to choose the name. Unfortunately for us all.

        Autocracies suck.

        What is the sound of Windows? Is it not the sound of a wall upon which people have smashed their heads... all the way through?
      each time you say "Perl 6", Perl5 dies a little.

      I think he got it ass back'ards!

      It is with great regret that I say, that each time this OP comes up, in the absence of its presence, it is Perl 6 that dies a little.

      "la petite mort."--but not in the good way.

      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

        It is with great regret that I say, that each time this OP comes up, in the absence of its presence, it is Perl 6 that dies a little.

        Surprisingly enough, though, software (and this includes programming language implementations) won't get written faster by people asking about it or complaining that it isn't written yet. This holds even more true if you want the software to be tried-and-tested to the point that it's usable.

        What you need is a community of people, some of whom implement the thing, some who triage tests or bug reports, and some who write applications and stress-test the language. For that to happen, you need to encourage (some would say "hype") people into wanting to contribute. To top it off, Perl 6 in itself seems to attract people due to some of its features.

        So, expectations are high, but it's partly because they need to be. Or you might help figure out another way to build a community besides having something worth forming a community around.

Re: Will Perl 6 Replace Perl 5?
by mpeg4codec (Pilgrim) on Jan 03, 2010 at 19:59 UTC
    This very question was well-addressed in November by masak (above poster). See his blog discussion of Perls 5 and 6, which can be summarized by the following quote:
    Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages.

      Also try this post, more recent, shorter, and on the same theme.

      There is another good post by Matt S. Trout about the subj.
Re: Will Perl 6 Replace Perl 5?
by educated_foo (Vicar) on Jan 03, 2010 at 18:45 UTC
    I believe that they'll split, and that although I am less than half dead, Perl 5 will not be obsolete before I retire. Perl (5) will live or die on its own merits, independent of Perl 6.
Re: Will Perl 6 Replace Perl 5?
by chromatic (Archbishop) on Jan 03, 2010 at 21:53 UTC
    Sorry for such a mundane topic but I haven't come across a definitive answer to this one.

    The only accurate answer anyone can give you is whether Perl 6 will replace Perl 5 for their purposes.

Re: Will Perl 6 Replace Perl 5?
by furry_marmot (Pilgrim) on Jan 06, 2010 at 19:34 UTC

    If you want to understand if Perl 5 will go into maintenance mode, I think the answer is NO. Perl 5 is the current Perl version and will be for quite some time. Asking about a Perl 6 release date will just get you defensive responses from the Perl 6 folks, if that's any indication.

    If you want to understand what all the whining is about, check out this journal entry. Perl 6 folks read it and say, "Yes! That's right!" Outsiders (everyone else in the world) read it and ask WTF???

    While the Perl 6 detractors lay it on a bit thick, I happen to believe that the Perl 6 supporters are not helping Perl's reputation by all their defensive, misconstruing complaints about outsiders. My two cents. But Perl 5 works great, I use it daily, and all the back and forth over whose compiler is bigger is really annoying.

    Cheers! Back to work for me.

      Asking about a Perl 6 release date will just get you defensive responses from the Perl 6 folks, if that's any indication.

      How is it defensive? Here are two truths:

      1) Rakudo has had two years of monthly releases. The next release date is always the Thursday after the third Tuesday of the month.

      2) Rakudo is ready for you to use when you decide it's ready for you to use. No one else can decide that for you. Certainly we're not going to pretend we know the specifics of your business or hobby use. All we can do is make every monthly release better than the previous release.

      Perl 6 supporters is not helping Perl's reputation by all their defensive, misconstruing complaints about outsiders.

      I care not one whit for insiders versus outsiders versus people of indeterminate position. I care about explaining my goals and motivations correctly and accurately and correcting misconceptions of those goals and motivations appropriately.

      If you want to understand if Perl 5 will go into maintenance mode, I think the answer is NO.

      That's only true because Perl 5 has effectively been in maintenance mode for several years. A better question is "Will Perl 5 come out of maintenance mode?"

        Look, it just seems to me that every one of these threads, here and elsewhere, seems to start with someone who's been using Perl for some length of time getting curious about Perl 6. They look around, google about, reading what they can find on, and come away confused as to what it is and (oh my goodness) when it will be done.

        So they post some question about Perl 6 and then they (and all else reading the thread) get to read explanations like "it's a spec, not an implementation", "we're trying to get away from the concept of finished/not-finished", "people asking about the status of Perl 6 is a distraction" and my favorite, to the effect that "the specification is not complete and probably never will be because that's not the goal".

        I, like a lot of reasonable and knowledgeable persons, read this and think, Huh? I'm not saying any of the above is wrong, but can you see at all how so many postings regarding Perl 6 re completion|release dates|features can be a little hard to grok?

        I've used Perl for 12 years and continue to find it useful. I use all manner of advanced techniques, have written some well-received, hopefully helpful replies here and elsewhere, document my code, used to read the Perl Journal and Perl Review regularly, have greedily sucked down all the DeveloperWorks articles, always check to see if there's a new article on, have been to conferences, and even managed to get all the way through Higher Order Perl without my head exploding. While I don't consider myself an expert, I think I know a thing or two about Perl.

        And yet I am baffled by the replies from the Perl 6 crowd. Really. Baffled. Not whining because it doesn't fit my sensibilities, nor simply annoyed enough to write a trolling reply, but truly baffled. Reading the journal entry by patrick, linked above, I found myself reacting rather strongly. I shan't repeat my comments as it might have been an over-reaction, but it all just seems so odd and impenetrable.

        I don't know if I'm making my point very well, but I didn't want to appear to be ignoring your reply. Back to work for me...


Re: Will Perl 6 Replace Perl 5?
by zentara (Archbishop) on Jan 04, 2010 at 14:26 UTC
    We've already waited this long for Perl6.... why not wait just a bit more for Perl7? :-)

    .... heard a great new years resolution:

    my resolution is to start procrastinating,

    i'll start Feb 1

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku

      It's possible you were only looking for a cheap laugh, but this comment by TimToady addresses the issue you were joking about. Notably:

      Maybe it would help if you thought of Perl 6 as something more like Perl 16 or so. We're just trying to skip over the 20 years of deprecation cycles and dead ends it would take to evolve Perl 5 into Perl 16 piecemeal, even assuming that were culturally possible, which it really isn't.
Re: Will Perl 6 Replace Perl 5?
by mr_mischief (Monsignor) on Jan 16, 2010 at 08:27 UTC
    To those making these threads possible, I really appreciate the work you guys are doing on Perl6 (and on PerlMonks for one of the forums on which they keep popping up). I can understand both sides of the name debate, and have no problem deferring to Larry, as it's his baby. I can understand most of both sides on the debates about dates and versions and making tentative predictive announcements.

    An estimated checklist and schedule of "this functionality x" in one column and "this date y" in another column would be handy if it was kept accurate. I'd rather time be put into the implementation than apologizing for the checklist and revising it, though. If it can't be reasonably accurate, I think it's not worthwhile and could cause more harm than good.

    As for artificial version numbers that coordinate with book releases (as in Perl 4) or with marketing's needs (as in software packages too numerous to mention), I've always doubted their usefulness to actual IT professionals. "Version 3" might be good for specifying a package to management so that management can specify it to purchasing. My favorite numbering scheme, though, is akin to "2010.01.16" or even just "20100116", either of which are informative of sequence, easily sortable, and informative of date released since they are in fact release dates. Feature checklists for historical versions can just list dates, and release date information is usually included in those sorts of tables for perspective anyway. Using the date released as the version packs more information into a smaller overall space, and gets that information into a more visible place.

    "Perl6" sounds more like a sequel to "Perl5" (or a new volume in a set) than an upgrade, so I'm not offended or hurt at all that it's not the same exact language. I don't expect "Terminator 2" or "Toy Story 2" to be the same stories as their predecessors, either. I did expect a similar product with a cast that included some existing characters. A new tool with a new integer part should be, according to my thinking about version numbers, a new tool that solves the same sort of problems as its predecessor. Like a book sequel that has multiple printings in which bugs get fixed, it's a new item with its own revision history and its own version numbers.

    I'll employ the book metaphor a bit more, since language implementations and books about them go hand in hand so often anyway. I think of "Perl6" as the title, not an edition. Maybe in this case book volumes in a set make more sense than a prequel and sequel situation, but the idea is the same. The metaphor may not be the best, but people need to understand that Perl6 is "Perl, Volume 6" with its own editions, revisions, and printings more than it is "Perl, 6th Edition, Barely Revised, First Printing".

    Once again, thanks to all of you who make Perl6 increasingly more relevant. I hope in the end threads like these make your work more rewarding, though it seems right now they mostly make the PR part of it more frustrating.

Re: Will Perl 6 Replace Perl 5?
by aecooper (Acolyte) on Sep 19, 2010 at 10:34 UTC
    Many thanks for your expansive answers. It is a great pity that they didn't call perl 6 something else. Well I shall be sticking with Perl 5 as I need to get stuff done that others can use now :-). Also as a language I personally prefer it to what I have seen of p6 as I find p5 cleaner (personal feelings after attending a presentation on the subject - I'm sure P6 will be great one Christmas...).

    I shall be doing my bit for Perl 5 as well :-).

    Thank you all again.


Re: Will Perl 6 Replace Perl 5?
by Anonymous Monk on Sep 20, 2010 at 08:19 UTC

    Amazing, Just amazing...

    After reading this thread and visiting and reading whats written there.

    If you are looking for production ready code please use Perl 5.

    So as per the Perl community's description itself, Perl 6 is not ready for Production??? And not to mention other sites like wikipedia etc say the same.

      So as per the Perl community's description itself, Perl 6 is not ready for Production???

      That's correct. You'll have a hard time finding an active Perl 6 developer who tells you that Perl 6 were production ready right now.

      Rakudo is quite usable in terms of features, but not in terms of stability and speed. We're working on it, but you'll notice that the Rakudo Star release anouncement explictly mentions that we target early adopters, not production users yet.

      Perl 6 - links to (nearly) everything that is Perl 6.

        Ok, But that wasn't thought that was going on in the thread. What I could infer from the thread was that production ready depends on individual needs and environments. And the whole thing about things being 'complete' was portrayed in a very different way than the conventional understanding.

      Don't assume the entire Perl 6 community agrees with that line on or its implications.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://815428]
Approved by Corion
Front-paged by Arunbear
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2021-11-27 12:22 GMT
Find Nodes?
    Voting Booth?

    No recent polls found