Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!apple!bbn!gatech!dcatla!itwaf From: itwaf@dcatla.UUCP (Bill Fulton [Sys Admin]) Newsgroups: comp.object Subject: Re: "Messaging" (Re: Reentrant code) Message-ID: <26000@dcatla.UUCP> Date: 28 Oct 89 22:07:47 GMT References: <132000003@uxa.cso.uiuc.edu> <2375@cbnewsl.ATT.COM> Reply-To: dcatla!itwaf@gatech.edu (Bill Fulton [Sys Admin]) Organization: DCA Inc., Alpharetta, GA Lines: 34 In article <2375@cbnewsl.ATT.COM> dog@cbnewsl.ATT.COM (edward.n.schiebel) writes >From article <132000003@uxa.cso.uiuc.edu>, by jpd00964@uxa.cso.uiuc.edu: >>[...] >> Now, are you saying that you can do run time binding with C++? >> >Yes. that is what virtual functions are all about. > > Ed Schiebel > AT&T Bell Labs To amplify; c++ allows the programmer to *control* binding points (compile time or runtime; per object function). So the programmer, rather than the language, can make the tradeoff decision between efficiency and abstraction. What a concept! :-) I understand that this is a "religious" issue; but I think it is nice that, for this particular language at least, the basic OOP concepts are supported while still retaining efficiency. Efficiency is not a dirty word. However, I'd happily admit that a "hybrid" implementation has serious limitations. I was in on the beginning of this thread, but missed the rest up until now. At the risk of redundancy: One of the nice things about the c++ imp of OOP is that, being "built on top of c", the objects are always passed on the stack. Thus, functions are inherently re-entrant, at least as far as the passed object instances go. I'm not saying c++ is better or worse than other languages, just that this is one interesting, and very important, side-effect of one particular implementation. I suggest that re-entrant capability is very important; and it would seem to be a shame if a language were to take away re-entrancy in order to add OOP. (But then; that's what this whole thread has been discussing, and I missed the middle part, so I'll shut up now). Bill Fulton