Some approaches to concurrency are (passingly) referenced below... what are your favourites? Got any others?

Feel free to argue about the benefits/costs of paradigms, and please correct me if I'm dead wrong.

Some observations:

I've read these nodes: I've read about the following Task-Oriented Concurrency Paradigms:
NameDetailsPerl?
Threads/Processes & LocksFailure is hard. Hard to debug, hard to scale, locks don't compose.
Includes shared nothing architectures like web-apps/services.
You are here.
Implicitly Parallel OperationsFailure is hard. Hard to debug. Doesn't scale.Perl6 Hyper-operators
Message Passing(Smalltalk, Erlang) Failure easily handled. Optimised for size, highly scalable.Interpreter is too heavy.
Software Transactional Memory(Haskell) Failure is normal. Hard to optimise. Good composability. Won't scale.Needs pure FP.
Co-operative event APIs(POE) Failure is hard. East to debug. Limited composability. Good scalability.Absolutely.
Combined lightweight threading + events APIs(H/O Actors) Async everything, hard to debug, too many small functionsNeeds pure, *modern* FP.


I've read about the following Data-Oriented Concurrency Paradigms:
NameDetailsPerl?
Ad-hoc Message Passing(MPI, PVM) O/S or library based. Poor composability. Scales well.Yes.
Pipeline of Iterators/Lazies(Haskell, Perl6) Failure is hard. Good composibility. Hard to scale.Perl6 lists, co-routines.
Data Parallelism(LINQ) Hard to debug. Limited effect. Good composability. Hard to scale.Needs pure FP.
Nested Data Parallelism(DP-Haskell) Failure is awkward. Good composability. Highly scalable.Needs pure, *modern* FP.


All the above paradigms try to address concurrency in a very general way.

There are also concurrency-friendly data-structures & algorithms:

Perl misses out on lots of cool concurrency "gear" because: References:
Software Transactional Memory
Nested Data Parallelism
Haller/Odersky Actors
Erlang
Parallel Data-Stucts & Algs
Data Parallel Haskell


In reply to Where is concurrency going? Is Perl going there? by erroneousBollock

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, details, 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, summary, 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.