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