[erlang-questions] How to Name Concurrency Patterns

Loïc Hoguin essen@REDACTED
Wed Feb 19 23:53:35 CET 2014

On 02/19/2014 11:08 PM, Joe Armstrong wrote:
> The idea is simple - but it could take *hours* to discuss possible
> implementations.
> Umm  - are message eventually delivered in order? what happens during a
> failure etc. Do we make
> a log tree of publishers ... etc.

It really sounds like you should actually say those open ended questions 
after showing a simple implementation, since you don't have the time to 
cover them.

>     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
> electrodynamics in
> four  equations
> This is fun:
> https://en.wikipedia.org/wiki/Deferent_and_epicycle
> Ptolemy and his mates thought the planets moved in epicyles, they make
> wonderful drawings
> of this, and gave examples - trouble was they were all wrong. Good old
> Kepler put them
> right with a few equations.

For most purposes it's enough to say that the sun rises in the morning, 
it doesn't have to be precise. You don't start by teaching general 
relativity, you first make an observation, give a blurry picture of what 
happens, and then dig a little to learn something from it, and then you 
observe again and continue ad infinitum.

Since you only have 5-10 minutes per pattern, you probably don't have 
enough time to do that more than once or twice, but it's still a 
starting point as it tells people where to look at to learn more.

Of course the picture will be more or less blurry depending on who you 
talk to. Genius students can probably get it if you get deep from the 
start, while the duck will need the colorful drawing with big letters.

I'll stop there as I am not helping you finding names by discussing 
this. Good luck!

Loïc Hoguin

More information about the erlang-questions mailing list