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: Eiffel and Java + Ada dispatching Date: 1996/10/31 Message-ID: #1/1 X-Deja-AN: 193338538 sender: news@organon.com (news) references: <550sm2$sn1@buggy.news.easynet.net> organization: Organon Motives, Inc. newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-10-31T00:00:00+00:00 List-Id: In article <557ce3$ojh@tjnews.is.s.u-tokyo.ac.jp> jezequel@piccolo.is.s.u-tokyo.ac.jp (Jean-Marc Jezequel) writes: > 2) but this is combined with the static overloading inherited from > Ada83; which is merely syntactic sugar for routine having > (statically) different signatures. Criminey! This is wrong too. It is not "merely syntactic sugar", as it is part and parcel of why Ada does not need any system validity checks! > In this respect, it is exactly like C++ or Java, but for the > symetric syntax. This isn't correct either. There are some other semantic aspects floating around that make it different from C++/Java in this area. > May be the confusion comes form the fact that in CLOS, this symetric > syntax is used for the real thing: multiple dispatch. Well, you got this right at any rate... > The only thing you really need to make use of OO polymorphism is > dynamic binding. While having at the same time static overloading > can make some code fragment more "natural" to write, the apparent > proximity of this feature with dynamic binding yield so much > confusion on the non-expert eyes that you do not wonder why I prefer > to teach Eiffel rather than C++, Java or even Ada95. I guess you like system validity problems. > As an aside, I once wrote a paper on how to emulate multiple > dispatch in a parallel linear algebra library in Eiffel, and it was > refused on the ground that a well known existing library had already > solved the problem using C++ overloading. Even this "expert" C++ > referee had no clue on the difference between static and dynamic > binding :-( I am having a bit of the same suspicion here... /Jon -- Jon Anthony Organon Motives, Inc. Belmont, MA 02178 617.484.3383 jsa@organon.com