Xref: utzoo comp.lang.c++:3105 comp.lang.lisp:1693 comp.lang.modula2:1451 comp.lang.prolog:1690 comp.lang.smalltalk:1017 comp.lang.misc:2857 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!seismo!esosun!kobryn From: kobryn@esosun.UUCP (Cris Kobryn) Newsgroups: comp.lang.c++,comp.lang.lisp,comp.lang.modula2,comp.lang.prolog,comp.lang.smalltalk,comp.lang.misc Subject: Re: C++ vs. Other OOLs Message-ID: <461@esosun.UUCP> Date: 24 Apr 89 20:55:11 GMT References: <2602@ssc-vax.UUCP> <5947@pdn.paradyne.com> <1022@quintus.UUCP> Organization: SAIC, San Diego Lines: 34 In-reply-to: ok@quintus.UUCP's message of 19 Apr 89 08:44:08 GMT In article <1022@quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: . . . >The ideal object-oriented language would: >1) Have user-definable classes. >Lisp and Prolog >permit the programmer to define his own class mechanism. There are versions >that come with classes built in. >Smalltalk and Lisp are highly polymorphic. Next is Objective-C and Prolog. >Then C++, and last is Modula-2. Look, will you _please_ take Prolog out of this discussion? Prolog is not an object-oriented language. It makes no pretence of being an object-oriented language. It goes out of its way NOT to be an object- oriented language. Consider C&M's intro sentence (Ch. 1) in "Programming in Prolog": Prolog is a computer programming language that is used for solving problems that involve *objects* and the *relationships* between objects.... Being paid by a Prolog company, I naturally think that Prolog is super-wonderful (logic is God and Warren is its prophet), but anyone who buys a Prolog system in the expectation that s/he will find it possible to define objects in it is in for a big disappointment. It is more than *possible* to define objects in Prolog. Consider Quintus' ProWINDOWS, an OOPS for UI devlopment: it supports abstraction, inheritance, polymorphism and message-passing. (If you need a technical POC at Quintus, I'd be glad to oblige ;->) -- Cris Kobryn