4 ms·
Message passing, it seems, is the basis for implementation of protocols, be it communication between objects in a hierarchy or between actors/processes in a sys
by dschiptsov 10y ago
Message passing, it seems, is the basis for implementation of protocols, be it communication between objects in a hierarchy or between actors/processes in a system or nodes in a network.
It is not coincidence that message passing is the core concept in the original OO paradigm and in design of fault-tolerant distributed systems. Cells do message passing too.
I am not sure what is being copied here. Messages are just structured data (a molecule) in otherwise share-nothing architecture.
- coldtea 10y ago>It is not coincidence that message passing is the core concept in the original OO paradigm and in design of fault-tolerant distributed systems. Cells do message passing too. This is not about "fault-tolerant distributed systems" though, but for "performance-first" for very CPU and memory expensive programs (video and audio processing, number crunching, etc).
- dschiptsov 10y agoJoe Armstrong thinks it is.
- coldtea 10y agoI doubt Joe Armstrong said anywhere that message passing can be as fast as shared memory for those kinds of applications.
- dschiptsov 10y agoHe advocates "fail-fast" and "share-nothing" as fundamental principles - that's the point. With no sharing a failure of a single process affects no other, unlike threads with shared stack and state. For the same reasons Erlang is functional language with single bindings. Sharing of immutable data is OK, so message passing might be implemented using OS shared memory services.
- coldtea 10y ago>He advocates "fail-fast" and "share-nothing" as fundamental principles - that's the point. He advocates those for totally different use cases.
- dschiptsov 10y ago[citation needed]