[erlang-questions] How to think and reason when designing process- and message-centric systems?
Miles Fidelman
mfidelman@REDACTED
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
> erlang-questions@REDACTED
> 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.htm>
More information about the erlang-questions
mailing list