Xref: utzoo comp.lang.misc:7199 comp.object:2977 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!udel!cis.udel.edu From: carroll@cis.udel.edu (Mark Carroll) Newsgroups: comp.lang.misc,comp.object Subject: Re: CHALLENGE: heterogeneous collections Message-ID: <49413@nigel.ee.udel.edu> Date: 1 Apr 91 00:09:21 GMT References: <26714:Mar2602:52:1891@kramden.acf.nyu.edu> <27F11E1D.6354@tct.uucp> Sender: usenet@ee.udel.edu Followup-To: comp.lang.misc Organization: University of Delaware Lines: 54 Nntp-Posting-Host: hercules.cis.udel.edu In article <27F11E1D.6354@tct.uucp> chip@tct.uucp (Chip Salzenberg) writes: >According to objtch@extro.ucc.su.oz.au (Peter Goodall): >>I have written a Smalltalk application which will unload fairly arbitary >>recursive objects to an append only Stream (pipe). > >But not _totally_ arbitrary objects, because the objects so dumped >must understand a dumpTo: method, right? > >C++ can easily solve this problem using multiple inheritance, virtual >functions, and vanilla homogenous lists. > >Next contestant? This article and its replies made me a bit angry. There's a rather huge degree of ignorance in them. All effective programming systems are equivalent. Anything that I can do in ANY language, I can do in any other language. There is absolutely no way that I can make an argument that a dynamic type system can do something that can't be done in a static system - because anything that I can do in language A, I can do in language B. Cutting down the arguments for dynamic typing because you can do the same job with static typing are vacuous. Obviously you can! No one has ever claimed that you couldn't! The question is: which does it BETTER? The argument shouldn't be: "I can do heterogeneous lists in a static system (using MI), so since you don't need dynamic typing to do it, dynamic typing is no good". The correct form of the argument is this: "My staticly typed solution is a BETTER solution than your dynamic one, and this is why:". Now, in the context of this argument, I think that the dynamic solution under which I can iterate ANY method over a heterogeneous lists is a better, cleaner solution that the static solution in which I have to create an artificial superclass for every method that I want to use to iterate over the list. Disagree? Please, tell me why. >Chip Salzenberg at Teltronics/TCT , -- ---------------------- Mark Craig Carroll: ------------------------ ------ U of Del. Grad Student in CIS ------ EE/CIS LabStaff Hacker ------ -- Resident Weirdo @ 105 E Cleveland Ave, Newark DE - carroll@udel.edu -- ---------------------- Shalom Achshav - Peace NOW! ----------------------