Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
it is technically one of the better non-blocking highly parallel solutions

That is far from being true!

Perl as a language is very bad suited for that task as it lacks the high level features required to do that comfortably, i.e. coroutines (aka cheap threads), continuations, generators or even some minimal syntactic sugar. Also, the lack of a proper garbage collector and the callback-programming style commonly used by non-blocking frameworks is a bad combination, prone to produce reference cycles and so, memory leaks. The programmer needs to take care of that explicitly (for instance, using curry::weak).

Programming using callbacks is horrific, it is not for nothing that people have coined the term "Callback Hell"! It requires discipline and structuring the code artificially. Also, code (or modules) not designed for being used asynchronously can not be used freely without workarounds (for instance, forking).

That Perl frameworks so good as Mojolicious exists, is not because of Perl being a suitable language for that. It is because the authors are really geniuses that have been able to overcome its limitations an provide a foundation that the rest of us can use easyly and even enjoy doing it!

Hopefully, asynchronicity and the high level features cited above are available (or planed) in Perl 6 so that would be a complete different history!


In reply to Re^3: The Slashdot Interview With Larry Wall by salva
in thread The Slashdot Interview With Larry Wall by Arunbear

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others avoiding work at the Monastery: (6)
    As of 2019-12-08 10:13 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found

      Notices?