From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,953e1a6689d791f6 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,953e1a6689d791f6 X-Google-Attributes: gid103376,public From: jsa@alexandria (Jon S Anthony) Subject: Re: To overload or not to overload (was Eiffel and Java + Ada dispatching) Date: 1996/11/07 Message-ID: #1/1 X-Deja-AN: 195180690 sender: news@organon.com (news) references: <32805D4D.77B6@iam.unibe.ch> organization: Organon Motives, Inc. newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-11-07T00:00:00+00:00 List-Id: In article donh@syd.csa.com.au (Don Harrison) writes: > Robb Nebbe writes: > > :To overload or not to overload is not the question IMO. > :Overloading is a language mechanism that Ada has and Eiffel > :doesn't; this is an apples and oranges problem. The real question > :is how do languages figure out which method should be invoked. > > Yes, a nice non-contentious topic of discussion is just that. Personally, > I'm more interested in what is the simplest binding mechanism a language > can provide which does everything you need and no more than you need. Unfortunately, that depends on what you mean by "simple". While Eiffel is simple in some aspects here (has only one construct), it is complex in others (who understands "broken" polymorphism and the attendant system validity issues?) Ada is simple in some aspects (no broken pm or worries about what it may mean, while letting you basically do what you want in this context [refine on non controlling parameters]) but more complex in that it has another construct: overloading and this might fool you at times. The whole thing boils down to tradeoffs, which in turn depend in large measure on the overall context. > However, in relation to Eiffel, I'm saying that it has no *need* of an > overloading mechanism because it is redundant due to the availability of > covariance. True. But it pays a non-trivial price for this. > So, for Eiffel, rather than dynamic binding overlapping with overloading, > it obviates the need for it. I think the real problem here is that dynamic binding is not the same category of thing as overloading and so comparing the two leads to confusion. /Jon -- Jon Anthony Organon Motives, Inc. Belmont, MA 02178 617.484.3383 jsa@organon.com