On Mar 30, 2011, at 5:06 AM, Sam Tobin-Hochstadt wrote:

> On Tue, Mar 29, 2011 at 7:08 PM, Allen Wirfs-Brock
> <[email protected]> wrote:

> [snip]
> 
>> Optionally allowing explicit use of an alternative receiver name is probably 
>> acceptable as long as there is a default name. The OO tradition is to 
>> distinguish the receiver by using a fixed distinguished name, not to provide 
>> a distinguish place for arbitrarily naming the receiver. Python and various 
>> lisp object systems allow arbitrary receiver naming, but they have arguably 
>> never been in the mainstream of object-oriented language design. If you take 
>> away the special meaning of "this" and you don't have alternative vocabulary 
>> such as Smalltalk does to talk about the "receiver" of a method then you 
>> don't have a simple common way to talk about "the object on which the method 
>> was invoked" and that is an essential concept in the OO tradition.
> 
> Second, I think this is taking a pretty narrow view of the OO
> tradition.  In particular, writing Python (a fairly popular language,
> these days :) and Flavors (from the same decade as Smalltalk) out of
> the mainstream seems pretty extreme.
> -- 

Sam, I don't want to battle over this, but I think I had as good of an 
insider's view as anyone during the development of practical OO during its 
heydays in the 80's and 90's. The Lisp object dialects were at the fringes of 
the object-oriented world, they were invited to the family gathering but were 
largely in their own world .  Arguably Flavors and its Lisp cohorts had more 
influence on the emergence of AOP  than on the evolution of mainstream OO. 
Python was a late comer that only began to gain traction in the mid-90's.  It 
had no impact on classic OO thought or language designs.  Much bigger 
influences although never widely used were Simula 67 (obviously) and Eiffel. 
The most influential OO language all had static class declaration and a single 
distinguished way to refer to the current method receiver (self, this, Current).

BTW, Guido has a nice article on the how classes originally emerged in Python: 
http://python-history.blogspot.com/2009/02/adding-support-for-user-defined-classes.html
 

Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to