Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!lll-lcc!pyramid!voder!apple!lsr From: lsr@apple.UUCP (Larry Rosenstein) Newsgroups: comp.lang.misc Subject: Re: Teaching object-oriented paradigm to beginners? Message-ID: <394@apple.UUCP> Date: Tue, 20-Jan-87 22:07:33 EST Article-I.D.: apple.394 Posted: Tue Jan 20 22:07:33 1987 Date-Received: Wed, 21-Jan-87 21:51:18 EST References: <4000001@nucsrl.UUCP> <3288@milano.UUCP> <147@m10ux.UUCP> Reply-To: lsr@apple.UUCP (Larry Rosenstein) Organization: Advanced Technology Group, Apple Computer Lines: 44 Some of us at Apple have experience in implementing object-oriented systems and seeing how people learn them. A few of us implemented an object-oriented application framework called MacApp, which people have been using for about 2 years. Users of MacApp are generally experienced programmers who have little or no experience with object-oriented programming. There is some variation in how quickly people learn object-oriented programming, and how effectively they apply it. It seems to take a while before people understand the concepts of objects, inheritance, and dynamic binding (message passing). Usually they flounder for a period of time (a couple of weeks) until the concepts start making sense. After this point, they can start using object-oriented programming, but it seems to take a few more weeks before they fully understand how to use object-oriented programming in their application design. In particular, there is a distinction between defining an object type that serves a particular purpose and defining an abstract object that can then be used in many different ways without having to reimplement it each time. I think learning an object-oriented language requires changing your perspective on programming. (This is especially true when using MacApp, because most of the control structure of your application is implemented for you.) Some people can adapt to this change more quickly than others. Part of the problem has been that there was no way to experiment with object-oriented programming until a couple of years ago. Now you can get versions of Smalltalk on MS-DOS machines or the Macintosh, you can get C++ on a variety of machines, and you can get Object Pascal on the Macintosh. Until these things came out, object-oriented programming was something you could only discuss. (I took a comparative programming languages class at MIT several years ago, and the class on Smalltalk consisted of watching a videotape of someone at Xerox using Smalltalk.) -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET