Talk:Message passing
From Wikipedia, the free encyclopedia
Object invocation in object-oriented programming (e.g. Simula, Smalltalk, Java, C#, etc.) has often been called "message passing" and implemented using shared memory. In case of concurrent object-oriented languages (e.g. Java, C#, etc.) the implementation can also involve locks (or other facilities of mutual exclusion).
I deleted this paragraph. Simula, Smalltalk, Java, and C# (except for the join calculus-based stuff in Comega) do not use message passing in the concurrency-related sense meant in this article. Talking about implementation just confuses the differences between message passing and lock-based approaches. DavidHopwood 01:06, 9 March 2006 (UTC)
- Sounds like a good edit to me. Interestingly enough, that particular paragraph was added by Carl Hewitt (yes, the Carl Hewitt — sadly no longer a WP contributor). However, I agree that it confuses the issue a bit. OTOH, it is true that object invocation is sometimes referred to as "message-passing". Perhaps it would be worthwhile to have a section (not in the leader) that discusses the differences between OO "message-passing" and message passing in the concurrent sense. That seems to me like a better approach than trying to conflate the two concepts, as the para you've removed did. What do you think? --Allan McInnes (talk) 02:43, 9 March 2006 (UTC)
There is also a 3rd sense for message passing in computer science/maths : "message passing algorithm" are a class of algorithm related to statistics and bayesian inference. For instance : belief propagation, expextation propagation and variational bayes are message passing algorithms. Maybe we need a disambiguation page.