How do you define "object-oriented"?

Jarvis, Robert P. (Contingent) Jarvisb at
Fri Apr 26 18:51:10 UTC 2002

> From: Kevin Fisher [mailto:kgf at]
> Or rather--if it's not objective right down to the smallest particle,
> can it be called object-oriented?

I don't think I'd go quite that far.  Back when I was starting to learn
about OO I found a definition which I think is pretty good:

	A language is object-oriented if it supports
		1.  Encapsulation
		2.  Inheritance
		3.  Polymorphism

By this definition C++ and Java are object-oriented even though they expose
atomic data types.  My experience has been that it is much easier and more
productive to work in an object-oriented language which doesn't clutter up
the landscape with 'int's and 'char's.  On the other hand I'm known for
being a bit dense and perhaps (despite my years of apparent success with
'int' and 'char'-ridden languages) I just don't get it.  Or maybe I *do* get
it and it's the 'int' and 'char'-obsessed language designers who are
clueless.  Beats me - I'm nearsighted and keep blundering into these tall
things with rough brown outer coverings and occasional bits of greenery.

> (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. :)

I imagine there are several ways to look at this:

	1.  Copying is so much easier than thinking.
	2.  You can spot the pioneers by the arrows in their backs.
	3.  I have taken the road less traveled, and it has made all the
	4.  The shortest way to a programmer's heart is through C.

Again, YMMV.

This message and any attachments are intended for the 
individual or entity named above. If you are not the intended
recipient, please do not forward, copy, print, use or disclose this 
communication to others; also please notify the sender by 
replying to this message, and then delete it from your system. 

The Timken Company

More information about the Squeak-dev mailing list