Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #41439 > unrolled thread
| Started by | Mark Janssen <dreamingforward@gmail.com> |
|---|---|
| First post | 2013-03-18 10:04 -0700 |
| Last post | 2013-03-18 11:24 -0700 |
| Articles | 4 — 3 participants |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
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
| From | Mark Janssen <dreamingforward@gmail.com> |
|---|---|
| Date | 2013-03-18 10:04 -0700 |
| Subject | Re: [Python-ideas] Message passing syntax for objects |
| Message-ID | <mailman.3459.1363626278.2939.python-list@python.org> |
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
[toc] | [next] | [standalone]
| From | 88888 Dihedral <dihedral88888@googlemail.com> |
|---|---|
| Date | 2013-03-18 11:24 -0700 |
| Message-ID | <892700c8-4b6a-489b-96a5-8f96310bf028@googlegroups.com> |
| In reply to | #41439 |
zipher於 2013年3月19日星期二UTC+8上午1時04分36秒寫道: > 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 Please check object pascal and objective c and erlang for the message-action director model of what you want. C is too low level to be suitable for everything.
[toc] | [prev] | [next] | [standalone]
| From | Lele Gaifax <lele@metapensiero.it> |
|---|---|
| Date | 2013-03-18 20:16 +0100 |
| Message-ID | <mailman.3473.1363634207.2939.python-list@python.org> |
| In reply to | #41445 |
88888 Dihedral <dihedral88888@googlemail.com> writes: > zipher於 2013年3月19日星期二UTC+8上午1時04分36秒寫道: >> 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. > > Please check object pascal and objective c and erlang for > the message-action director model of what you want. I fail to see how syntax differences would change the modularity of your product. The fact that (say) ObjC use the name "message" while Python calls the same a "method" isn't actually changing the concrete fact that both are executing some sort of function that accepts an "instance" object as one of the arguments (in Python, the first parameter, usually called self, in ObjC, and implicit "self"). In other words, the following ObjC [someObj getItemAt: i] is perfectly equivalent to the following Python someObj.getItemAt(i) and to the following Smalltalk someObj getItemAt: i How is the former syntax, where "getItemAt:" is called a "message", more modular from the second, where "getItemAt()" is called a method? ciao, lele. -- nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia. lele@metapensiero.it | -- Fortunato Depero, 1929.
[toc] | [prev] | [next] | [standalone]
| From | 88888 Dihedral <dihedral88888@googlemail.com> |
|---|---|
| Date | 2013-03-18 11:24 -0700 |
| Message-ID | <mailman.3477.1363641986.2939.python-list@python.org> |
| In reply to | #41439 |
zipher於 2013年3月19日星期二UTC+8上午1時04分36秒寫道: > 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 Please check object pascal and objective c and erlang for the message-action director model of what you want. C is too low level to be suitable for everything.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web