How do you define "object-oriented"?

PhiHo Hoang phiho.hoang at rogers.com
Sat Apr 27 17:54:29 UTC 2002


> Alan

> P.S. Real pioneers have the arrows in their chests!

	And, nevertheless, the smiles on their faces.

	That is truly admired.

	Cheers,

	PhiHo.

-----Original Message-----
From: squeak-dev-admin at lists.squeakfoundation.org
[mailto:squeak-dev-admin at lists.squeakfoundation.org] On Behalf Of Alan
Kay
Sent: Friday, April 26, 2002 6:29 PM
To: squeak-dev at lists.squeakfoundation.org
Subject: Re: How do you define "object-oriented"?


Well, the meanings of terms change over time, and as my old friend 
Rich Gold likes to say, terms are also "colonized" for political and 
fad reasons. Personally, I started to regret having coined this 
phrase almost immediately, in part because "object-oriented" seemed 
too static. Simula-I used the term "process" to cover both what we 
mean by "object" and "instance" (since classes were not themselves 
objects). But this use of "process" was a little different from the 
already in use definition in the US.

To me, in the beginning, what seemed most important were the 
encapsulation, only message passing (which allows the algebraic 
properties of polymorphism), everything made from the basic building 
block, etc. Doing this right allows some of the other useful 
abstraction mechanisms to be built. But the abstraction ideas have 
always been a problem, in that nothing as "clearly sweet" as objects 
has yet emerged. This has led to quite a profusion of half good ideas 
about classes or prototypes, inheritance or not or multiple or 
single, etc.

Finally, my original biology inspired ideas were completely 
intertwined with late-binding (where I had LISP as a beautiful model 
of how to generally go about things).

Cheers,

Alan

P.S. Real pioneers have the arrows in their chests!

-------



At 2:10 PM -0400 4/26/02, Kevin Fisher wrote:
>I have a bit of a question...I'm just sitting down to learn Python 
>right now and I'm finding it a bit too C/C++ like for my liking.  What 
>strikes me about Python is it's claim of "object orientation"--and yet,

>it has atomic types like 'int' and 'char' that are not objects  (shades

>of
>C++ and Java).
>
>I've read the quote on smalltalk.org from Alan that (roughly 
>paraphrased) says "I invented the term object-oriented, and C++ was not

>what I had in mind."
>
>Is it safe to say that something like Python is not truly 
>object-oriented? Or rather--if it's not objective right down to the 
>smallest particle, can it be called object-oriented?  I realize this 
>could be a somewhat flameworthy question...but I don't mean it to 
>incite flames.
>
>
>(and then there's the other question about why all new languages go out

>of their way to be so C-like...a personal beef of mine. :)


-- 




More information about the Squeak-dev mailing list