Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!jpd00964 From: jpd00964@uxa.cso.uiuc.edu Newsgroups: comp.object Subject: Re: "Messaging" (Re: Reentrant code) Message-ID: <132000003@uxa.cso.uiuc.edu> Date: 19 Oct 89 09:40:04 GMT References: <8636@goofy.megatest.UUCP> Lines: 34 Nf-ID: #R:goofy.megatest.UUCP:8636:uxa.cso.uiuc.edu:132000003:000:1276 Nf-From: uxa.cso.uiuc.edu!jpd00964 Oct 18 14:52:00 1989 /* Written 1:51 pm Oct 17, 1989 by jnh@ecemwl.ncsu.edu in uxa.cso.uiuc.edu:comp.object */ In article <135300010@p.cs.uiuc.edu> johnson@p.cs.uiuc.edu writes: >> >> >>I said >>>> There is no essential difference between Smalltalk messages and C++ >>>> virtual functions. >> >>psrc@pegasus.ATT.COM said >>>Well, not really. >>and mentioned perform:. >> >>I've used Smalltalk heavily for the last four years, and C++ off >>and on for the last three years. I still say that there is no >>practical difference between messages and virtual functions. One [much deleted] Doesn't Smalltalk/Obj C use run time binding and C++ use compile time binding? If this is the case, which I strongly believe it to be, then it should be very very easy to see that there is a big difference between them. If you have a look up table at run time, then you can literally put in any object you want, at run time, and the run time libraries will find you method. If you do it at compile time, then you cannot substitute in another object. QUICK CLARIFICATION---You can substitute objects, but it is limited in C++. At least it is in all versions I have seen, which is mostly Think C 4.0 on the Macintosh. Now, are you saying that you can do run time binding with C++? Michael Rutman Softmed