Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!ut-sally!im4u!milano!sierchio
From: sierchio@milano.UUCP
Newsgroups: comp.lang.misc
Subject: Re: Teaching object-oriented paradigm to beginners?
Message-ID: <3351@milano.UUCP>
Date: Tue, 13-Jan-87 10:52:31 EST
Article-I.D.: milano.3351
Posted: Tue Jan 13 10:52:31 1987
Date-Received: Tue, 13-Jan-87 22:36:06 EST
References: <4000001@nucsrl.UUCP> <3288@milano.UUCP> <147@m10ux.UUCP>
Sender: sierchio@milano.UUCP
Organization: MCC, Austin, TX
Lines: 53
Summary: O-O o-o


To respond to your question, second one first:

It is hard for advocates to explain anything effectively -- we're
talking about religious issues, not intellectual ones. If it's
someone's religion, best not to futz with it. Ever try talking
to a FORTH nut?  Of course, the real value of something ought to
be apparent without devoting one's life to it first.  The O-O paradigm
offers a promise of stability in the environment, since it is inherently
modular.  We should see benefit in terms of reusability of programs
and concepts. I think the Xerox Altos and Star are successes -- if you
count the Macintosh as a Successor.  It's now ready to support the O-O
paradigm from the programmer's view, as well as the user's. 

Remember that we hackers are users, too! And the tools we use to build
these marvelous systems would be rejected as primitive by the newly
sophisticated general public. 

But when someone says, "you have to do a large amount of O-O before you
TRULY UNDERSTAND ...."  PUT YOUR HAND ON YOUR WALLET! "My guru says..."


Now, for your first question -- Abstract Data Types are Data Types.
Objects in O-O programming are code and data. This is nothing new, at
least at first glance -- LISP has always represented (until recently,
when it has been forced to accomodate everybody) functions and data
as lists, and that meant that programs could build and evaluate their
own little worlds.

What's different about O-O is that it has little to do with whatever
embedded language is used. Objects know about themselves. They have all
the code and data it takes to perform their design function. At least
that's the way it looks to the programmer. So, it is not merely a subset
of abstract data types, though it shares some conceptual foundations
with ADT's. It is tremendously appealing, and I think that its time has
finally come -- we should see O-O in efficient implementations across
a multitude of environments, and soon. 

As they say in auto racing -- "when the green flag drops, the bullshit stops."

We'll see, I guess. Personally, if it stops me from having to reinvent
the proverbial wheel on a continuous basis, I'll give it a go.

ciao!

-- 
	
	Michael Sierchio @ MCC Software Technology Program

	UUCP:	ut-sally!im4u!milano!sierchio
	ARPA:	sierchio@mcc.ARPA

	"WE REVERSE THE RIGHT TO SERVE REFUSE TO ANYONE"