|
Prev: Funny Videos
Next: Wow
From: Dmitry A. Kazakov on 19 Mar 2007 17:10 On Mon, 19 Mar 2007 15:32:40 GMT, Daniel T. wrote: > "Dmitry A. Kazakov" <mailbox(a)dmitry-kazakov.de> wrote: > >> On Mon, 19 Mar 2007 13:27:24 GMT, Daniel T. wrote: >> >>> When the bumble-bee does his honey dance, does he care who watches? >> >> Yes, it is genetically programmed to care. Queens whose bees danced for >> bee-eaters were unable to pass their genes further. > > He is genetically programmed to dance, but to care? I think you ascribe > too much intelligence there. Where is a difference? Whatever intelligence (or maybe suggested purpose of dancing) it might be it is solely in our heads. Somebody who has programmed the bee cares. "Bee cares" is an abbreviation of this. > The point remains though. In an OO environment, objects must be thought > of as semi-intelligent and semiautonomous. The dog example brings to > mind an unintelligent machine (the tail) being controlled by a "god > object" the brain. That sort of centralization is exactly what OO tries > to avoid. > > An OO system should not be thought of as a body with a controller, and > appendages. Instead a good OO system should be thought of as a community > of workers. I am not sure about it. If we mean stateful objects then controller-plant is as good as community-member of. I would say that intelligent stateful objects are those, which behavior is sufficiently unpredictable [Turing test]. Is such indeterminism mandatory to an OO design? Yet another aspect of "workers" is stochastic state changes (active objects, "free will"). Again, I am not so sure if that were a requirement for OO. But independently, all this does not prevent static typing. Dogs don't have kangaroo's tails. Ants don't care about bee's dances. If you know in advance that a message will not be understood, you don't need to send it. In our model of world (always simplified) we can assume that bees just don't care to dance for ants. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
From: Daniel T. on 19 Mar 2007 22:06 "Dmitry A. Kazakov" <mailbox(a)dmitry-kazakov.de> wrote: > On Mon, 19 Mar 2007 15:32:40 GMT, Daniel T. wrote: > > The point remains though. In an OO environment, objects must be thought > > of as semi-intelligent and semiautonomous. The dog example brings to > > mind an unintelligent machine (the tail) being controlled by a "god > > object" the brain. That sort of centralization is exactly what OO tries > > to avoid. > > > > An OO system should not be thought of as a body with a controller, and > > appendages. Instead a good OO system should be thought of as a community > > of workers. > > I am not sure about it. If we mean stateful objects then controller-plant > is as good as community-member of. I would say that intelligent stateful > objects are those, which behavior is sufficiently unpredictable [Turing > test]. Is such indeterminism mandatory to an OO design? Yet another aspect > of "workers" is stochastic state changes (active objects, "free will"). > Again, I am not so sure if that were a requirement for OO. For me, it's the defining characteristic. Semi-Intelligent, semi-autonomous objects and the decentralized flow control it allows is what OO is all about, regardless of the language. > But independently, all this does not prevent static typing. Agreed.
From: Dmitry A. Kazakov on 20 Mar 2007 04:51
On Tue, 20 Mar 2007 02:06:54 GMT, Daniel T. wrote: > "Dmitry A. Kazakov" <mailbox(a)dmitry-kazakov.de> wrote: >> On Mon, 19 Mar 2007 15:32:40 GMT, Daniel T. wrote: > >>> The point remains though. In an OO environment, objects must be thought >>> of as semi-intelligent and semiautonomous. The dog example brings to >>> mind an unintelligent machine (the tail) being controlled by a "god >>> object" the brain. That sort of centralization is exactly what OO tries >>> to avoid. >>> >>> An OO system should not be thought of as a body with a controller, and >>> appendages. Instead a good OO system should be thought of as a community >>> of workers. >> >> I am not sure about it. If we mean stateful objects then controller-plant >> is as good as community-member of. I would say that intelligent stateful >> objects are those, which behavior is sufficiently unpredictable [Turing >> test]. Is such indeterminism mandatory to an OO design? Yet another aspect >> of "workers" is stochastic state changes (active objects, "free will"). >> Again, I am not so sure if that were a requirement for OO. > > For me, it's the defining characteristic. Semi-Intelligent, > semi-autonomous objects and the decentralized flow control it allows is > what OO is all about, regardless of the language. Hmm, a decentralized flow control, that would rather be a data flow machine, than OO. Then I doubt that this would be a good idea anyway. Data flow code is close to impossible to understand / maintain. Even if the implementations of the objects weren't themselves data flow. Which BTW would bring an immediate question about universality of the approach, the same question which kills relational as a paradigm. Even so, why on the design level it should turn different? I don't believe in that. IMO hierarchical decomposition is a sufficient part of structured and later OO designs, which of asymmetry allows us to reduce coupling. With a symmetrical equal-rank decomposition without a master, each participant must know others. That does not work well on either silicon or human brain hardware. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de |