Front page | perl.perl6.language |
Postings from October 2010
October 12, 2010 08:26
Message ID: 3823C3443A7CA34BA4338754939C12E701531A8429@MBX08.bell.corp.bce.ca
Although anecdotal, I've heard good things about Go's "channel" mechanism as a simple lightweight concurrency model and a good alternative to typical threading. Channels are first-class in the language and leverage simple "goroutine" semantics to invoke concurrency.
From: firstname.lastname@example.org [mailto:email@example.com] On Behalf Of Damian Conway
Sent: October 12, 2010 10:23 AM
Subject: Re: threads?
Leon Timmermans wrote:
> For the love of $DEITY, let's please not repeat ithreads!
Backwards compatibility is not the major design criterion for Perl 6,
so there's no need to recapitulate our own phylogeny here.
The problem is: while most people can agree on what have proved to be
unsatisfactory threading models, not many people can seem to agree on
what would constititute a satisfactory threading model (or, possibly, models).
What we really need is some anecdotal evidence from folks who are actually
using threading in real-world situations (in *any* languages). What has worked
in practice? What has worked well? What was painful? What was error-prone?
And for which kinds of tasks?
And we also need to stand back a little further and ask: is "threading"
the right approach at all? Do threads work in *any* language? Are there
Perhaps we need to think more Perlishly and reframe the entire question.
Not: "What threading model do we need?", but: "What kinds of non-sequential
programming tasks do we want to make easy...and how would we like to be
able to specify those tasks?"
As someone who doesn't (need to) use threading to solve the kinds of
problems I work on, I'm well aware that I'm not the right person to help
in this design work. We need those poor souls who already suffer under
threads to share their tales of constant misery (and their occasional
moments of triumph) so we can identify successful patterns of use
and steal^Wborg^Wborrow the very best available solutions.