[self-interest] Questions about Self

Welch, Ronald P (US) Ronald.P.Welch at BAESYSTEMS.com
Mon Jul 4 20:21:03 UTC 2016


David,

Thanks for the thought provoking questions. Good food for thought on a holiday weekend (Independence day here in the USA).

I think the essence of messaging between objects is that individual objects are responsible for determining how they respond to the messages they receive from other objects. Can they, for example, use the information they receive in a message to behave in a way that was not pre-determined? There is an implication that messages are objects themselves (capable of sending and receiving messages). But is this "late binding" property a requirement for object-orentation? It probably comes down to semantics in the end. Hence the debate about the "object-oriented" nature of Swift vs Objective-C and the inclusion / exclusion of message passing in Swift:

http://www.buckleyisms.com/home/2014/6/16/the-case-for-message-passing-in-swift.html

Implementing some of examples outlined there (mock objects, swizzling, remote methods, run-time meta-programming etc) in various languages would be examples of experiments for for Martians I would think. The implementations would have to be subjectively compared though, bringing us back to your question about this all being in our minds.

Perhaps OO is in the mind of the beholder after all.

- Ron
----------=-=-=-=-=-=-=-=-========oOo========-=-=-=-=-=-=-=-=----------
mailto:Ronald.P.Welch at baesystems.com                Phone:(607)206-8718
BAE SYSTEMS                       1701 North Street, Endicott, NY 13760
----------=-=-=-=-=-=-=-=-===================-=-=-=-=-=-=-=-=----------

On Jul 3, 2016, at 1:39 AM, David Ungar ungar at me.com [self-interest] wrote:

*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.



Ron,

My pleasure. Your viewpoint raises the question: "What is the essence of messaging between objects?" How would you explain it? What experiment could a Martian do to distinguish OO from non-OO? Or is it all in the mind?

- David (from iPad, typos likely)

On Jun 27, 2016, at 5:24 AM, 'Welch, Ronald P (US)' Ronald.P.Welch at BAESYSTEMS.com<mailto:Ronald.P.Welch at baesystems.com> [self-interest] <self-interest at yahoogroups.com<mailto:self-interest at yahoogroups.com>> wrote:



David,

Thanks very much for your insightful response. I am a huge fan of Mark Miller's work as well, and my admiration and for respect for your work goes without saying, of course. (But I will say it anyway, you are awesome :)

I concur with your point about the deep differences that arise in object orient programing systems based their underlying paradigm. But to me, the fundamental idea that makes all the paradigms related, at least to some degree, is the isight about messaging between the objects being the essence, the heart if you will, of all the paradigms. The details can diverge from there with, to your point, far ranging effect, however.

Thanks again,
Ron
----------=-=-=-=-=-=-=-=-========oOo========-=-=-=-=-=-=-=-=----------
mailto:Ronald.P.Welch at baesystems.com                Phone:(607)206-8718
BAE SYSTEMS                       1701 North Street, Endicott, NY 13760
----------=-=-=-=-=-=-=-=-===================-=-=-=-=-=-=-=-=----------

On Jun 26, 2016, at 3:04 PM, David Ungar ungar at me.com<mailto:ungar at me.com> [self-interest] wrote:

*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.



Yes, but I have a long-standing debate with Mark Miller, whom I respect beyond words. And a long-standing unease about trying to understand one paradigm in terms of another according to the sort of argument in this link.

Here’s my canonical example: Back in the day, Schemers would tell me that Smalltalk blocks were just Scheme lambdas. Yet, in Smalltalk, every control structure uses blocks (and dynamic dispatch), while in Scheme cond is a primitive, even though it could have been done differently. From a cognitive psych point of view, (see Women, Fire, and Dangerous Things by Lakoff IIRC), blocks are more basic than lambdas. The syntax is much shorter, and they are the fundamental building blocks of control in ST. Even though the interpreter might look similar for the two, there are deep differences in the process of programming, the patterns people reach for, debuggability (including support by the tools), etc.

So I always worry, when I read that sort of argument.

Whew! Didn’t intent to rant.

Thanks,

- David



On Jun 25, 2016, at 10:36 AM, 'Welch, Ronald P (US)' Ronald.P.Welch at BAESYSTEMS.com<mailto:Ronald.P.Welch at baesystems.com> [self-interest] <self-interest at yahoogroups.com<mailto:self-interest at yahoogroups.com>> wrote:


A third way of looking at objects, which I rather like, is the lambda-based perspective:

http://erights.org/elib/capability/ode/ode-objects.html

The last paragraph quotes Dr. Alan Kay…

----------=-=-=-=-=-=-=-=-========oOo========-=-=-=-=-=-=-=-=----------
mailto:Ronald.P.Welch at baesystems.com                Phone:(607)206-8718
BAE SYSTEMS                       1701 North Street, Endicott, NY 13760
----------=-=-=-=-=-=-=-=-===================-=-=-=-=-=-=-=-=----------

On Jun 25, 2016, at 5:39 AM, Stephen De Gabrielle spdegabrielle at gmail.com<mailto:spdegabrielle at gmail.com> [self-interest] wrote:

*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.



So we have prototypes (self & JavaScript) and classes (sometimes added to JavaScript).

Is there another way?

S.


On Sat, 25 Jun 2016 at 04:23, 'Jason Grossman' spam-me at xeny.net<mailto:spam-me at xeny.net> [self-interest] <self-interest at yahoogroups.com<mailto:self-interest at yahoogroups.com>> wrote:

I wrote:

> I just re-watched Alan Kay's famous talk "The Computer Revolution
> Hasn't Happened Yet", and it sounds to me like a very good argument
> against classes, although I doubt that he meant it to be!


And I've just noticed that Alan Kay has recently (this week!) said:

> I liked Self. "Good OOP" is still waiting for a much better notion to
> replace the idea of a "Class"

https://news.ycombinator.com/item?id=11939851

Jason


--
Kind regards,
Stephen
--
Bigger than Scheme, cooler than Clojure & more fun than CL.(n=1)
--










-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20160704/fbfd0c6d/attachment.html>


More information about the Self-interest mailing list