From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1108a1,ef0074ec236ba6e3 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b19fa62fdce575f9 X-Google-Attributes: gid103376,public X-Google-Thread: 108717,ef0074ec236ba6e3 X-Google-Attributes: gid108717,public X-Google-Thread: 1014db,ef0074ec236ba6e3 X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,ef0074ec236ba6e3 X-Google-Attributes: gid109fba,public X-Google-ArrivalTime: 1994-11-23 07:30:55 PST Path: nntp.gmd.de!urmel.informatik.rwth-aachen.de!newsserver.rrzn.uni-hannover.de!aix11.hrz.uni-oldenburg.de!nordwest.germany.eu.net!pophh!Germany.EU.net!EU.net!howland.reston.ans.net!swrinde!pipex!lyra.csx.cam.ac.uk!warwick!not-for-mail From: csusb@csv.warwick.ac.uk (Jules) Newsgroups: comp.lang.ada,comp.lang.c,comp.programming,comp.lang.c++,comp.object Subject: Object-Oriented Concepts (was: Why don't large companies use Ada?) Date: 23 Nov 1994 15:30:55 -0000 Organization: University of Warwick, Coventry, UK Message-ID: <3avn7f$1pe@sage.csv.warwick.ac.uk> References: <3aamuc$14l@matrix.fwi.uva.nl> <785104767snz@rippleco.demon.co.uk> <785191405snz@huge.demon.co.uk> NNTP-Posting-Host: sage.csv.warwick.ac.uk Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Xref: nntp.gmd.de comp.lang.ada:16970 comp.lang.c:69781 comp.programming:13082 comp.lang.c++:80356 comp.object:17761 Date: 1994-11-23T15:30:55+00:00 List-Id: In article <785191405snz@huge.demon.co.uk>, hugh@huge.demon.co.uk writes: >Just my own thoughts, but OO-mysticism can be seen as an attempt to >centralise the act with the context of the act. How often have you passed >the wrong variable to a C function, or had to write some ghastly defensive >code to check for an exception case? Software engineering and information >engineering disciplines separated data and function so that the intersection >would form a useful cross-check, and because the programming languages of the >day forced that separation; not because they are independent of one another. I would agree that this is one of the original points that started the concept we now call Object-Oriented Programming, but I would disagree that this forms a good statement of what it is about. OOP has evolved beyond this simple combination of data and code. In my opinion, the most important points of it at it's state of the art today are: Polymorphism - arising directly from the combination of code and data is the ability to work with different types of data, and treat them all in the same way - you no longer need to know what type of data to process, as it processes itself. Abstraction - Abstraction is an import concept, necessary for polymorphism to work - a layer of seperation between objects to prevent data-dependencies from arising is crucial to being able to manipulate new data-types without extensive rewriting. Admittedly, none of this would be possible without the original combination of code and data, but this is not I believe the crucial point of OOP. Or would somebody like to disagree with me? -- /* Julian R Hall csusb@csv.warwick.ac.uk Flames should be redirected to /dev/null - I don't know what I'm saying myself so don't expect it to make sense all the time! */