[erlang-questions] How to Name Concurrency Patterns
Wed Feb 19 23:08:58 CET 2014
On Wed, Feb 19, 2014 at 10:41 PM, Loïc Hoguin <> wrote:
> On 02/19/2014 10:14 PM, Joe Armstrong wrote:
>> Hello, I'm giving a course in distributed and parallel programming in
>> Erlang ...
>> Next week I'll be talking about common concurrency patterns, I was
>> talking with the course adviser, and I rattled off the names of a few
>> concurrency patterns that were well-known and easy to explain. I said
>> I'll do PUB-SUB, pipeline, map-reduce, parallel map, and so on.
>> At this stage the course adviser said that a) things like PUB-SUB
>> would not be familiar to the students and that b) It would take more
>> than 5-10 minutes to explain PUB_SUB.
> Your course adviser lacks imagination. It takes a few seconds to explain
> PUB-SUB. These things are PUB-SUB:
> * Twitter
> * Facebook
> * Mailing lists
> * IRC channel / group chat
> * Newsletter
The idea is simple - but it could take *hours* to discuss possible
Umm - are message eventually delivered in order? what happens during a
failure etc. Do we make
a log tree of publishers ... etc.
my 5-10 minutes was for idea + simple code
> Most of these patterns can be explained with a fairly simple drawing.
> pipeline: data -> intermediary -> result
> map-reduce (I simplified, I'm no good at this ASCII stuff):
> data -> intermediary -\
> data -> intermediary ---> result
> data -> intermediary -/
> And so on.
> A good drawing and a few known examples are worth a million words.
Now that's trolling - what about Maxwell's equations? All of
This is fun:
Ptolemy and his mates thought the planets moved in epicyles, they make
of this, and gave examples - trouble was they were all wrong. Good old
Kepler put them
right with a few equations.
> I would be interested to hear what name people suggest, but I'm afraid
> there's about as many concurrency patterns as there are possible
Yes - but names like gen_server supervisor, gen_fsm are useful to express
designs (to people who know
OTP) but we need more well know names
> I suggest calling the DNS pattern Howard and the load balancer-replacement
> pattern Clementine.
> Loïc Hoguin
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions