Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Perl 6 Fundamentals

by reisinge (Friar)
on May 09, 2017 at 10:53 UTC ( #1189877=perlnews: print w/replies, xml ) Need Help??

A daemon that is properly started with no controlling terminal will never receive SIGHUP from the OS. Thus, it is convenient to repurpose SIGHUP to tell the daemon to read its configuration file. -- Steven W. McDougall

Replies are listed 'Best First'.
Re: Perl 6 Fundamentals
by Your Mother (Bishop) on May 09, 2017 at 12:34 UTC
Re: Perl 6 Fundamentals
by nikosv (Chaplain) on May 09, 2017 at 17:45 UTC
    I was logged out....
    I'm a bit concerned about the timing.I mean there are 3 or 4 books on Perl 6, all introductory, coming out at about the same time which makes choosing the right one particularly tough. What's going to be the deciding factor?
      As the author of "Perl 6 Fundamentals", let me try to answer that.

      Think Perl 6 teaches introductory programming and computer science, using Perl 6 as the language.

      Learning Perl 6 isn't done yet, so it's hard to tell, but it seems to be along the same lines of Think Perl 6, targeting absolute programming beginners who don't know variables, loops, scopes etc. are. Maybe more focused on learning programming, and less on computer science.

      Perl 6 Fundamentals assumes that you already know how to program, and you know the basic constructs (variables, functions, classes, objects, recursion), but have no experience in Perl 6. It aims to show practical examples, in the hopes of inspiring your and teaching you to write practical Perl 6 code.

      I can't comment on Andrew Shitov's books, because I haven't read them yet. Perl 6 at a Glance by Andrew Shitov teaches the Perl 6 basics point by point, using one to three-line examples for each feature. In contrast, Perl 6 Fundamentals shows and develops larger, somewhat practical examples, and explains the features used along the way.

      P.S. I'll post on perlmonks once "Perl 6 Fundamentals" is available for sale.

      Your purpose is the deciding factor. Perl 5 is here and wonderful and there are many jobs if youíre willing to move. Perl 6 is barely a toddler right now and despite how interesting and promising it is, itís still not really what most of us consider production ready, depending on oneís tolerance for risk and commitment to participating in moving the ball forward.

        sure,the deciding factor as far as if you want to try Perl6 goes.But if you've made up your mind,then which book to choose from?
      I'm coming a bit late to this discussion which I had not seen before, but just want to point out that my book, Think Perl 6, is available (PDF format) for free download: So you can start reading it before you decide to buy the printed version.
Re: Perl 6 Fundamentals
by 1nickt (Monsignor) on May 09, 2017 at 12:50 UTC

    Caveat Emptor.

    From the blurb for this book:

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

    But from the 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:

    • Tiny ecosystem full of abandoned modules
    • Slow
    • Buggy
    • Some stuff still gets changed around, so you may need to tweak your code to work on latest-and-greatest version once in a while
    • No mature modules for common tasks; your options are to roll your own, use works in progress, or use Perl 5's modules via Inline::Perl5 and pray it works.
    • Language has been stable for just over 1 year, so chances of someone explicitly looking to hire Perl 6 programmers are slim to none

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

    The way forward always starts with a minimal test.

      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.


        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?
        "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.

      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.


      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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlnews [id://1189877]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2018-07-20 01:20 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (422 votes). Check out past polls.