[erlang-questions] How to think and reason when designing process- and message-centric systems?

Miles Fidelman <>
Thu Dec 15 15:44:56 CET 2016

It might help to read "Erlang & OTP in Action" and work through the 
exercises.  It provides a pretty thorough, step-by-step view of building 
a meaningful application in Erlang.

On 12/15/16 7:04 AM, IRLeif wrote:
> Dear Erlang community,
> This is my first email to the mailing list. I apologize in advance if 
> this is odd or off-topic.
> Coming from an object-oriented and data-centric background, I have 
> cognitive difficulties when it comes to conceptualizing, thinking 
> about and designing systems consisting of modules, processes and 
> key-value data stores.
> My brain reverts to thinking about classes, objects, inheritance 
> trees, encapsulation and SQL-style relational data models. I'm afraid 
> this could lead to unidiomatic Erlang system architectures and 
> implementations, which would be undesirable.
> Here are some of the essential complexities I have difficulties grasping:
> A) Identifying discrete modules and processes and finding good names 
> for them.
> B) Appointing supervisor and worker modules; defining process hierarchies.
> C) Deciding which processes should communicate with each other and how.
> D) Designing a sensible persistent data model with Mnesia or other 
> NoSQL data models (e.g. using CouchDB).
> E) Deciding which processes should read and write persistent data records.
> F) Incorporating global modules/"shared facilities" like event 
> handlers, loggers, etc.
> G) Visualizing the system architecture, processes and communication 
> lines; what kind of graphics to use.
> H) Organizing source code files into separate projects and directory 
> structures.
> Questions:
> 1) How do you unlearn "bad habits" from object-oriented way of thinking?
> 2) How do you think and reason about process-centric systems designs?
> 3) When designing a new system, how do you approach the above activities?
> I would appreciate any practical tips, examples, "mind hacks" and 
> resources that might help.
> Kind regards,
> Leif Eric Fredheim
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

In theory, there is no difference between theory and practice.
In practice, there is.  .... Yogi Berra

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161215/ebdaaf39/attachment.html>

More information about the erlang-questions mailing list