in reply to Perl 6 Fundamentals

Caveat Emptor.

From the blurb for this book:

"Gain the skills to begin developing Perl 6 applications from the ground up ..."

But from the perl6.org website today, May 9:

"Please read the advance notice blog post on potential breaking changes coming mid-April"

And from a Reddit post one week ago by a Perl Foundation-funded "Perl6" developer describing the drawbacks of his product:

What a joke. Talk about all sizzle and no steak!


The way forward always starts with a minimal test.

Replies are listed 'Best First'.
Re^2: Perl 6 Fundamentals
by vrk (Chaplain) on May 09, 2017 at 14:34 UTC

    Perl 6 is no joke. For many years (2005-2015), I thought it would end up as vapourware or at least unimplementable, so I stopped following the project. But suddenly (or so it feels), there's a working compiler and one or two virtual machines that actually work. The language specification and the implementation are converging. Inline::Perl5 is genuinely cool and useful, even if neither it nor the compiler are "production quality". Now I feel the project will eventually succeed, even if it takes another 5-10 years to a full, optimised, mature implementation.

    When it comes to books about Perl 6, the biggest difference to Perl 5 is that you can write a book based on the specification and it will remain valid and up to date for many years, even if the implementation changes. You can hardly say the same of Perl 5, which only has one implementation and no specification. I look forward to reading more Perl 6 books. I can't recommend it for production use at work, and I likely won't use it much in the next five years, but it contains so much that is new, interesting and Perl that I'll eventually make the switch. Just not yet.

      I'm with you, vrk, Perl6 is definitely starting to shine with promise. I'm waiting for them to finish work on the JVM, (java virtual machine) backend, and then see some useful modules arrive. In the spirit of "free as in beer", there is an open-source book at Perl_6_Programming. I would hope that a book like that would be improved, bit by bit, just like Perl6. :-)

      I'm not really a human, but I play one on earth. ..... an animated JAPH
      Thanks for this and below posts vrk,

      they really sounds of something said because of your experience; not prejudice nor fanatism.

      I always looked to Perl6 as something fashinating that I 've no time to explore: I'm a strictly perl only, and I need to still improve a lot at it.

      Perl6 can be a door to perl future, we have not to close it.

      L*

      There are no rules, there are no thumbs..
      Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
      you can write a book based on the specification and it will remain valid and up to date for many years, even if the implementation changes. You can hardly say the same of Perl 5
      Have you read Modern Perl or Ovid's Beginning Perl?

        Modern Perl is great. It's also updated every year or two, which shows that Perl 5 keeps evolving (a good thing) and that features are both added and removed from the language in almost every point release (see also: no fixed specification).

        I haven't read Beginning Perl, but I did buy a copy of the 4th edition (2012) of the Camel Book recently. The difference to the 3rd edition (2000), i.e. between idiomatic Perl 5.6 and 5.14, is enormous. If there is ever a 5th edition, it will no doubt be as big a change from 5.14 -- who knows, maybe it will feel like Perl 6 at this rate.

      "You can hardly say the same of Perl 5, which only has one implementation and no specification."

      Yet Perl5 is production ready and Perl6 barely compiles and runs like garbage.

        Not sure this is worth replying to, but let's see:

        Perl 5
        Idea about what Perl 5 should be, based on Perl 4: 1990-1991? (Perl 4.000 released in 1991)
        First working, usable compiler: Oct 1994 (5.000)
        "Classic" Perl, robust and mature implementation: Mar 2000 (5.6, Camel Book 3rd ed)
        Major revival, Modern Perl: May 2011 (5.14, Camel Book 4th ed)
        Perl 6
        Idea about what Perl 6 should be, based on Perl 5: ~2000
        Proof of concept prototypes for compilers: 2005-2010
        First working, usable compiler: Dec 2015 (Rakudo 1.0/spec v6.c)
        Robust and mature implementation: ??? (whoops, we're not there yet; it took Perl 5 almost six years)
Re^2: Perl 6 Fundamentals
by Zoffix (Acolyte) on May 11, 2017 at 14:13 UTC

    Oooph! I'm getting quoted so often, I think should start charging a fee! :)

    I can certainly see why the stuff you quoted and especially the notice you mention may make it seem like we're changing stuff around willy-nilly. However, I think I can clarify some of the confusion.

    We don't make changes that break 6.c Language Specification tests. Having personally read one of the preview versions of Perl 6 Fundamentals, I'd say it's a safe buy, especially since it's written by someone who's keeping themselves in the loop with Perl 6 development.

    The breaking changes the notice you mention refers to are to routines that were not part of the language. They're either internal or Rakudo-only bits that we found some users using. So we published a notice telling people about the changes in those routines, now that they were either removed or standardized to be part of the language, which I think is preferable than simply letting that code break and blaming the users for using something that's not part of the language.

    As for the bit you quoted off reddit, wouldn't you say that applies to any large project that got released less than a year and a half ago? New software has bugs and isn't thoroughly optimized. Some stuff is wrong and when it's made right, it may affect your code if you relied on the wrongness.

    So on one hand, we could modify non-spec code any way we want and not tell anyone, blaming the users whose code breaks for using those routines. We could tell half-truths to people and say Perl 6 is magical and farts rainbows. Or... we could be realistic and acknowledge that there're still many performance improvements we can make and bugs to fix, and we can spend the time to address the userbase who use untested parts of bleed features.

    I prefer the latter option.

    Cheers,
    ZZ

Re^2: Perl 6 Fundamentals
by Your Mother (Archbishop) on May 09, 2017 at 14:56 UTC

    Could you provide a link to the Reddit post? I did quoted Google searches for the quotes you provided and there were no results.

      Sure: Reddit thread.


      The way forward always starts with a minimal test.