Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!uunet!mcsun!ukc!cam-cl!scc From: scc@cl.cam.ac.uk (Stephen Crawley) Newsgroups: comp.object Subject: Re: object-oriented this, that, and the other thing Message-ID: <1673@gannet.cl.cam.ac.uk> Date: 27 Nov 89 00:16:17 GMT References: <2426@umbc3.UMBC.EDU> <190@ark1.nswc.navy.mil> <1561@novavax.UUCP> <76915@linus.UUCP> <984@castle.ed.ac.uk> <1959@tukki.jyu.fi> <1115@castle.ed.ac.uk> Sender: news@cl.cam.ac.uk Organization: U of Cambridge Comp Lab, UK Lines: 36 Dave Berry writes: [... stuff deleted ...] > My opinion is that the main feature of an OO language is that objects > contain information about their class. The effect of this is that we > can build collections of objects of different classes, call a member > function of an arbitrary object of that collection and get the correct > function for that class. In other words, dynamic binding of functions > (as opposed to dynamic binding of variables, as in old lisps). [...] > So my definition of an OO language would be > "classes + dynamic binding of functions". > with the footnote that inheritance is required for this in statically > typed languages and damn useful anyway in dynamically typed ones. GRRRR ... I wish people would stick to the well established definitions of terms like "object-oriented" and not go around inventing new & incompatible ones for no good reason! .. GRRRR Dave Berry is just plain wrong. First, inheritence does not give dynamic binding in a static language; inheritence + virtual operations gives dynamic binding! Second, Dave's new "definition" of OO excludes languages that are currently recognised as OO according to the accepted definitions. > Of course, I'm probably wrong ... You said it!!! -- Steve