Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^2: The Slashdot Interview With Larry Wall

by doom (Deacon)
on Jul 20, 2016 at 18:29 UTC ( #1168166=note: print w/replies, xml ) Need Help??

in reply to Re: The Slashdot Interview With Larry Wall
in thread The Slashdot Interview With Larry Wall

I really liked this comment, myself:

shaitand ( 626655 ) wrote:
The primary internet usage of Perl was coded for CGI. That usage is almost non-existent now. But Perl usage as part of a modern stack is on the rise again even if it is one of the less popular choices it is technically one of the better non-blocking highly parallel solutions able to handle thousands of concurrent connections without breaking a sweat. Actually the concurrent non-blocking thread model that is needed to break 10k connections which is being newly adopted everywhere else was the heart of the now ancient POE system in Perl. There are newer and more shiny solutions like Mojolicious being used these days.

It's nice to see there's still someone else out there correcting things that are Wrong On The Internet. I don't always have time myself.

  • Comment on Re^2: The Slashdot Interview With Larry Wall

Replies are listed 'Best First'.
Re^3: The Slashdot Interview With Larry Wall
by salva (Abbot) on Jul 21, 2016 at 09:32 UTC
    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!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1168166]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2019-12-08 21:40 GMT
Find Nodes?
    Voting Booth?

    No recent polls found