« links for 2007-06-07 | Main | links for 2007-06-09 »

IPC

About Erlang:

"1. Processes have 'share nothing' semantics. This is obvious since they are imagined to run on physically separated machines.
2. Message passing is the only way to pass data between processes. Again since nothing is shared this is the only means possible to exchange data.
3. Isolation implies that message passing is asynchronous. If process communication is synchronous then a software error in the receiver of a message could indefinitely block the sender of the message destroying the property of isolation.
4. Since nothing is shared, everything necessary to perform a distributed computation must be copied. Since nothing is shared, and the only way to communicate between processes is by message passing, then we will never know if our messages arrive (remember we said that message passing is inherently unreliable.) The only way to know if a message has been correctly sent is to send a confirmation message back"

Given recent interest in anything (anything!) that can cope with multicore, it seemed to appropriate to re-quote.that gem from Joe Armstrong.


June 8, 2007 08:52 PM

Comments

Dave
(June 9, 2007 08:37 AM #)

Beautiful simplicity Bill. A good example of 'don't assume' programming.

Post a comment

(you may use HTML tags for style)




Remember Me?

Trackback Pings

TrackBack URL for this entry:
http://www.dehora.net/mt/mt-tb.cgi/2105