OOP Message Passing

Comments debate the essence of message passing as a core OOP concept, distinguishing it from method calls, with references to Smalltalk, Ruby, Objective-C, and Erlang.

📉 Falling 0.5x Programming Languages
1,590
Comments
20
Years Active
5
Top Authors
#3821
Topic ID

Activity Over Time

2007
1
2008
13
2009
22
2010
40
2011
52
2012
73
2013
47
2014
76
2015
78
2016
162
2017
88
2018
88
2019
235
2020
100
2021
112
2022
89
2023
99
2024
128
2025
84
2026
3

Keywords

OO process.send IMHO MutEx OOP OOO URL i.e API IIS message passing message passing object method messages objects oop sending ruby

Sample Comments

scotty79 • Sep 7, 2024 • View on HN

Doesn't message passing capture this essence better?

platz • Apr 7, 2017 • View on HN

in other words, you don't call functions, you send messages.

trevyn • Mar 17, 2019 • View on HN

https://en.wikipedia.org/wiki/Message_passing#Message_passin...

nesarkvechnep • Mar 13, 2021 • View on HN

No mention of message passing? Shame.

alex_smart • Dec 22, 2023 • View on HN

Is Smalltalk’s message passing really all that different from methods from other OOP languages? Seems like quite an arbitrary distinction to me.

dnautics • Oct 26, 2018 • View on HN

Message passing is less coupled than functions or "objects" that share bits of state.

hubb • May 18, 2010 • View on HN

what is the proper way of thinking of objects that message passing yields (genuinely curious)?

brlewis • Jun 9, 2008 • View on HN

It's called message passing. It used to be part of the commonly accepted definition of OO.

agumonkey • Mar 17, 2019 • View on HN

It's a fuzzy one I'm not sure I understand either.One thing though "tru OO" guys often complain of false message passing based on function call. Others here are hinting at asynchronous vs synchronous. Very likely to be what Kay meant.Another thing to me, is that message interactions mean standalone data exchange. As if to design your interfaces to accept very small but complete objects as communication protocol. Rather than passing structures to be modified. I'm no

cubicle67 • May 18, 2010 • View on HN

One of the major differences, from a programming point of view (as opposed to implementation) is that with message passing, you can pass any message to an object, even if that object doesn't know how to handle it.Cocoa makes extensive use of delegates (not sure if these are similar to .net delegates) for handling unrecognised messages, which makes adding custom behaviour to classes possible without subclassing.Rails is (in)famous for making use of Ruby's method_missing to implement all so