[FRIAM] What is an object?

Marcus Daniels marcus at snoutfarm.com
Wed Jul 18 01:19:40 EDT 2018


Objects are more versatile than modules:  An object can be passed around, and it can provide scoping and access control like most modules system do.    Even static symbol access can be done with objects provided there is an origin object that provides those services like QueryInterface (think the `env’ optional argument to main in C).   The trick is to do it in such a way that a compiler can analyze what is going on, e.g. to enable devirtualization.   That’s not easy, so I’d argue that’s why there is a duality between modules and objects – it is a performance issue.   In practice, module systems are mainly concerned with facilitating birth of objects.  Once born, there’s little need for them because everything else can be done with messaging and functional composition.
From: Friam <friam-bounces at redfish.com> on behalf of Alfredo Covaleda Vélez <alfredo at covaleda.co>
Reply-To: The Friday Morning Applied Complexity Coffee Group <friam at redfish.com>
Date: Tuesday, July 17, 2018 at 10:35 PM
To: The Friday Morning Applied Complexity Coffee Group <friam at redfish.com>
Subject: Re: [FRIAM] What is an object?

And this is probably  even better for your discussion

http://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented

On Tue, Jul 17, 2018 at 11:09 PM, Alfredo Covaleda Vélez <alfredo at covaleda.co<mailto:alfredo at covaleda.co>> wrote:
I do not know if Alan Kay created the term object in the context of programming  but he was a pioneer of OOP when created Smalltalk. These are few paragraphs where Kay is cited in relation to the term object and concept is explained.

https://www.yegor256.com/2017/12/12/alan-kay-was-wrong.html

Felicidades para todos.

On Tue, Jul 17, 2018 at 10:19 PM, Marcus Daniels <marcus at snoutfarm.com<mailto:marcus at snoutfarm.com>> wrote:
One can also have procedures bound to types where the procedures are pure.
OOP does not imply methods that have privileged access to state, although this is common with languages like C++ and Java.
In contrast, a method (or type bound procedure) can have privileged access to the meaning of state when state is provided (as an argument).
Haskell basically requires this approach and Fortran 2008 facilitates it.

On 7/17/18, 9:05 PM, "Friam on behalf of Russell Standish" <friam-bounces at redfish.com<mailto:friam-bounces at redfish.com> on behalf of lists at hpcoders.com.au<mailto:lists at hpcoders.com.au>> wrote:

    Not sure about "utility"/"tool", but an object is distinguished from a
    function by having state. Call an object's method, and the method's
    scope is populated by the object's data members, which of course,
    differ from object to object.

    By contrast a function either has no state (pure function), or its
    state is global (same for every function invocation).

    Cheers

    On Tue, Jul 17, 2018 at 10:06:57PM -0400, Nick Thompson wrote:
    > Dave, and anybody else who wants to play.
    >
    >
    >
    > I have always been puzzled by the question of how one distinguishes an
    > object in object programming from a utility in DOS or a tool in Matlab.  Or
    > any mathematical function, for that matter.  You give it what it needs, and
    > it gives you what it's supposed to, and you don't give a damn how it works.
    >
    >
    >
    > Please don't yell at me.
    >
    >
    >
    > Nick
    >
    >
    >
    > Nicholas S. Thompson
    >
    > Emeritus Professor of Psychology and Biology
    >
    > Clark University
    >
    > http://home.earthlink.net/~nickthompson/naturaldesigns/
    >
    >
    >

    > ============================================================
    > FRIAM Applied Complexity Group listserv
    > Meets Fridays 9a-11:30 at cafe at St. John's College
    > to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com
    > FRIAM-COMIC http://friam-comic.blogspot.com/ by Dr. Strangelove


    --

    ----------------------------------------------------------------------------
    Dr Russell Standish                    Phone 0425 253119 (mobile)
    Principal, High Performance Coders
    Visiting Senior Research Fellow        hpcoder at hpcoders.com.au<mailto:hpcoder at hpcoders.com.au>
    Economics, Kingston University         http://www.hpcoders.com.au
    ----------------------------------------------------------------------------

    ============================================================
    FRIAM Applied Complexity Group listserv
    Meets Fridays 9a-11:30 at cafe at St. John's College
    to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com
    FRIAM-COMIC http://friam-comic.blogspot.com/ by Dr. Strangelove


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com
FRIAM-COMIC http://friam-comic.blogspot.com/ by Dr. Strangelove


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://redfish.com/pipermail/friam_redfish.com/attachments/20180718/282ff1ec/attachment-0001.html>


More information about the Friam mailing list