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"