Wayne Brehaut a écrit : > On Mon, 16 Jul 2007 10:10:05 +0200, Bruno Desthuilliers > <[EMAIL PROTECTED]> wrote: > > >>Wayne Brehaut a écrit : >>(snip) >> >>>after Bruno made the >>>claim: "OO is about machines - at least as conceveid by Alan Key, who >>>invented the term and most of the concept." >> >>Please reread more carefully the above. I do give credit to Smalltalk's >>author for the *term* "OOP", and *most* (not *all*) of the concepts (I >>strongly disagree with your opinion that message-passing is not a core >>concept of OO). > > > One problem is that it's often not clear what lists of properties are > his definition of OOP vs. what are the intended properties of > Smalltalk--his intended impelmentation of OOP. Many of the lists begin > with the basic requirements that "everything is an object" and > "objects communicate by message passing", but the most common > "generally agreed upon" definition abstracts just four requirements > from these (changing) lists--attempting to separate implementation > details from what is essential to the underlying framework. As I note > below, these were: > > 1. modularity (class-based? object-based?) > 2. inheritance (sub-classing) > 3. encapsulation (information hiding)
I don't see information hiding and encapsulation as being the very same thing. But anyway... > 4. polymorphism ((sub-) class-specific response to a message, or > processing of a method) subclassing - and even classes - are not necessary for polymorphism. I guess you have a good enough knowledge of Python and/or some prototype-based OOPL to know why !-) > > Other details in Kay's lists are considered implementation details, > and important advances or alternatives to pevious methods, but not > required for a language to _be_ OO. It is reputed, though, that in > 2003 Kay said > (http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented) "OOP to > me means only messaging, local retention and protection and hiding of > state-process, and extreme LateBinding of all things." > > So I understand your accepting one of Kay's lists as being a > definition of OOP instead of "just" a description of Smalltalk, or of > accepting this fairly recent "definition" as being the true one Is there any "true one" ?-) > (as > opposed to the previous lists of usually 6 properties). "It's hard to > hit a moving target!" Indeed. > >>FWIW, I first mentionned Simula too (about the state-machine and >>simulation aspect), then sniped this mention because I thought it was >>getting a bit too much OT - we're not on comp.object here. > > > Understood--sort of--but there is sufficient accurate information > about Simula available on the web now that it's no longer necessary to > use quotes from Kay about OOP and Smalltalk just because they're more > accessible, as used to be the case. What would be so OT about > referring to Simulain one sentence instead of or in addition to > Smalltalk? What I mean is that I felt my answer to be already OT enough so I sniped large parts of it. FWIW, I could have sniped the reference to Alan Kay and kept the one to Simula, but then it would have require more rewrite work. > But I digress--my only real objection to your post was your opinion > and claim that Kay "invented the term and most of the concept": I agree that the term "most" is perhaps a bit too strong. For my defense, please keep in mind that I'm not a native english speaker, so I often have hard time expressing myself with the exact nuance I'd use in french. (snip) > > As has been noted before, it's often the fact that a cause becomes a > religion: Good Lord, save us from becoming religious !-) Ok, I admit that I have my own understanding of OO (as anyone else, I guess), which is quite closer to Smalltalk's model than to any other OOPL (even Python). It probabaly has to do with the extremely generalized and systematic application of two key concepts - objects and messages - in such a way that it becomes a coherent whole - while most mainstream OOPLs feel to me more like ad-hoc collection of arbitrary rules and features. So yes, I'm probably guilty of being a bit too impassioned here, and you're right to correct me. But have mercy and take time to read a bit more of the offending post, I'm pretty confident you won't find me guilty of mis-placed "religiosity". (snip) > in contrast, all I've done so far is complain about > those who don't accept the correct (i.e., my) definition or use of > terms. Lol ! I'm afraid this is something we're all guilty of one day or another... -- http://mail.python.org/mailman/listinfo/python-list