Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #41439

Re: [Python-ideas] Message passing syntax for objects

Path csiph.com!usenet.pasdenom.info!news.franciliens.net!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!cs.uu.nl!news.stack.nl!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <dreamingforward@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.002
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'subject:: [': 0.03; 'syntax': 0.03; 'languages,': 0.04; 'subsequent': 0.04; 'subject:Python': 0.05; 'objects,': 0.07; 'python': 0.09; 'high- level': 0.09; 'thread,': 0.09; 'sfxlen:2': 0.10; 'language,': 0.11; 'programmer': 0.11; 'language': 0.14; "hasn't": 0.15; 'passing': 0.15; '*i*': 0.16; 'bit.': 0.16; 'clear.': 0.16; 'hierarchy': 0.16; 'invoking': 0.16; 'subject:ideas': 0.16; 'syntax,': 0.16; 'to:name:python list': 0.16; 'wrote:': 0.17; 'subject:] ': 0.19; 'bit': 0.21; 'assuming': 0.22; 'new,': 0.22; 'sorry,': 0.22; 'universal': 0.22; "haven't": 0.23; 'to:2**1': 0.23; "i've": 0.23; 'header:In-Reply-To:1': 0.25; 'environment.': 0.27; 'message-id:@mail.gmail.com': 0.27; "d'aprano": 0.29; 'enforce': 0.29; 'oop': 0.29; 'steven': 0.29; 'to:name:python- ideas': 0.29; 'case,': 0.29; 'objects': 0.29; 'this.': 0.29; "i'm": 0.29; 'that.': 0.30; 'usually': 0.30; 'function': 0.30; 'problem.': 0.32; 'hopefully': 0.33; 'shift': 0.33; 'to:addr :python-list': 0.33; 'everyone': 0.33; 'languages': 0.33; 'received:google.com': 0.34; 'wrong': 0.34; 'list': 0.35; 'pm,': 0.35; 'there': 0.35; 'really': 0.36; 'but': 0.36; 'programmers': 0.36; 'method': 0.36; 'should': 0.36; 'does': 0.37; 'communicate': 0.37; 'rather': 0.37; 'mark': 0.38; 'comment': 0.38; 'mean': 0.38; 'object': 0.38; 'sure': 0.38; 'to:addr:python.org': 0.39; 'skip:" 10': 0.40; 'subject:-': 0.40; 'think': 0.40; 'your': 0.60; 'link': 0.60; 'most': 0.61; 'spam.': 0.61; 'telling': 0.61; 'expert': 0.62; 'between': 0.63; 'necessarily': 0.63; 'more': 0.63; 'readers': 0.65; 'afraid': 0.66; 'experts': 0.66; 'integrated': 0.66; 'apologize': 0.67; 'to:addr:python-ideas': 0.69; 'fact,': 0.69; '2013': 0.84; 'clarifies': 0.84; 'concept,': 0.84; 'moves': 0.84; 'approach.': 0.91
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=UTESL4x1oAngjHdc6DH5phM+gIfwDSkKh5S4rfC3FOk=; b=rbk6+dnp9urcPM2V9ynEvvfrpPUCx3gKz5d9BTaOca+PmgpoyS518EoXflA5nk2aIq c7INliEHQehZTEEVL0RBXfbjHaQ76UaUJD3sU9Erwe4Ife5hHpdanQBbyEIFBJjl75of RZm06NdeU8fkch49B1lh8ltUNR5xnSz1CdfE/lbfRq9v+XZRjh3qOlCRtvSF4CoS89Mr YQfZ/A20QJAxU2A/uMK2qXEOkLGrHfe8ifrNouqTHco8MEQZbiI5P6W/rE7XLS40WnfU 07cIl1QaJ5eRFWq8hEYVCKFi99hH2vUzq1qBSTtkodfb6kkjtY+0y6gJRje+vHYSV0TE yrmw==
MIME-Version 1.0
X-Received by 10.180.75.177 with SMTP id d17mr18484249wiw.16.1363626276298; Mon, 18 Mar 2013 10:04:36 -0700 (PDT)
In-Reply-To <CAMjeLr9bH9nYpEeq8KjzHXmEXpuUgAjvWb3f2e7VR2sno=6Rkw@mail.gmail.com>
References <CAMjeLr_dBCSL9VGjrW6wJjMDhLWFdxWqGWw+5MXTfo8+x9yfYw@mail.gmail.com> <5146B848.3040509@pearwood.info> <CAMjeLr9bH9nYpEeq8KjzHXmEXpuUgAjvWb3f2e7VR2sno=6Rkw@mail.gmail.com>
Date Mon, 18 Mar 2013 10:04:36 -0700
Subject Re: [Python-ideas] Message passing syntax for objects
From Mark Janssen <dreamingforward@gmail.com>
To Python List <python-list@python.org>, Python-Ideas <python-ideas@python.org>
Content-Type text/plain; charset=ISO-8859-1
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.3459.1363626278.2939.python-list@python.org> (permalink)
Lines 42
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1363626278 news.xs4all.nl 6891 [2001:888:2000:d::a6]:35047
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:41439

Show key headers only | View raw


On Sun, Mar 17, 2013 at 11:46 PM, Steven D'Aprano <steve@pearwood.info> wrote:
> I am very interested in this as a concept, although I must admit I'm not
> entirely sure what you mean by it. I've read your comment on the link above,
> and subsequent emails in this thread, and I'm afraid I don't understand what
> you mean here. I feel you are assuming that your readers are already experts
> on message-passing languages (Smalltalk?). I know what *I* mean by message
> passing, but that's not necessarily what you mean by it.

I'm sorry, I haven't been very clear.  I'm not even an expert on
message-passing languages, but I see that it's a profound concept that
hasn't been adequately integrated into the OOP model.  In any case, I
will try to do better.  And I apologize to everyone on the list for
the prior mail spam.  A part of me is a bit giddy with the idea.

By message passing, I mean all the ways we communicate to objects in
the OOP environment.  Usually we "communicate" to them through
method-invokation.  But this is the wrong way, I argue, to look at the
problem.

With function or method syntax, you're telling the computer to
"execute something", but that is not the right concepts for OOP.  You
want the objects to interact with each other and in a high-level
language, the syntax should assist with that.

> By building it into the language, it would *enforce* a modular object
> style, rather than the current, very specialized and very programmer
> specific way there is now.  In fact, most people never really think in
> that paradigm, yet if the language supported/proposed such a syntax,
> programmers would start to re-arrange the whole object hierarchy in a
> new, more modular and universal way.
> [end quote]
>
> I don't understand this. In what way would message passing enforce a modular
> object style? In what way does Python not already have a modular object
> style?

Hopefully my paragraph clarifies that a bit.  But the key conceptual
shift is that by enforcing a syntax that moves away from invoking
methods and move to message passing between objects, you're
automatically enforcing a more modular approach.

Mark

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [Python-ideas] Message passing syntax for objects Mark Janssen <dreamingforward@gmail.com> - 2013-03-18 10:04 -0700
  Re: [Python-ideas] Message passing syntax for objects 88888 Dihedral <dihedral88888@googlemail.com> - 2013-03-18 11:24 -0700
    Re: [Python-ideas] Message passing syntax for objects Lele Gaifax <lele@metapensiero.it> - 2013-03-18 20:16 +0100
  Re: [Python-ideas] Message passing syntax for objects 88888 Dihedral <dihedral88888@googlemail.com> - 2013-03-18 11:24 -0700

csiph-web