Re:Correctness – A paradigm for sustainable software develop...
by gambler on Saturday April 06, 2019 @04:49PM
(#19592932)
>A method call is really just a synchronous message.
There is an important distinction. Messages are interpreted, at runtime. Which means you can do certain kinds of metaprogramming without getting outside of the normal tools of the language.
This is not a black-and-white kind of thing, though. A method call can be more or less like a message depending on the language tooling provided.
Re:Correctness – A paradigm for sustainable software develop...
by int_19h on Saturday April 06, 2019 @05:33PM
(#19593127)
The tooling has also converged to some extent. Java is very much Simula-style, and methods calls aren't messages... except when they are:
https://www.baeldung.com/java-dynamic-proxies
C# also has something similar with TransparentProxy, not to mention "dynamic".
But in practice, does it really make that much difference? A method call is really just a synchronous message. So at that point we're really talking about what messages objects should have - and looking at something like String, Array or Stream in Smalltalk, I don't see how it's substantially different from what we see in mainstream OO languages today.