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: jezequel@piccolo.is.s.u-tokyo.ac.jp (Jean-Marc Jezequel) Subject: Re: Eiffel and Java + Ada dispatching Date: 1996/11/01 Message-ID: <55c9e4$59m@tjnews.is.s.u-tokyo.ac.jp>#1/1 X-Deja-AN: 193632893 sender: jezequel@irisa.fr (Jean-Marc Jezequel) references: <550sm2$sn1@buggy.news.easynet.net> organization: Dept. Info., Univ. Tokyo newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-11-01T00:00:00+00:00 List-Id: In article , jsa@alexandria (Jon S Anthony) writes: >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! I do not claim to be any expert in Ada95: actually I practiced Ada83 only. So I might be wrong. In that case I would admit it without problem. But you cannot simply say: you are wrong and stay at this level of generality. What has "static overloading" to do with "system validity checks" ? If it is not syntactic sugar, please tell us what it is. Or if you're lazy, give a pointer to a relevant section of the reference manual, or to another easily accessible litterature. >> 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. I didn't say (god forbid!) that Ada95 was anywhere the same as C++/Java! I was limiting the scope of my comment to the ability of having both *overloading* and *single dispatch*. Do you find it funny to cut one's statements at strategic points to distort their meaning, or what? Sorry, but I still believe in good faith discussions. And this has not to degenerate in a language war: Ada and Eiffel deserve better than that. My only point in this post was that mixing *overloading* (a static mechanism AFAIK) with *single dispatch* dynamic binding, using the same syntax for the call, was making things a bit confusing for the user of the language. Since this is a subjective point, I have no problem with you not agreeing with me. But I expect real arguments on your side to be able to explain it myself to others. The rest of your post is thus a bit off-topic: >> 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. System validity is not a problem in Eiffel from the theoritical point of view (at least when only close systems are considered). Anyway, what is *your* problem with system validity checks? Have you written real, usefull Eiffel code that bite you lately? I'd be curious to know... But I do not claim Eiffel is perfect (can you claim Ada95 is?). And yes, system validity is one of the weak points. --- Jean-Marc Jezequel | Tel : +81 (3) 3812-2111 ext. 4116 IRISA/CNRS, currently visiting: | Fax : +81 (3) 5689-4365 Dept. of Information Science | e-mail : jezequel@irisa.fr or Faculty of Science | e-mail : jezequel@is.s.u-tokyo.ac.jp The University of Tokyo | http://www.irisa.fr/pampa/PROF/jmj.html Hongo Bunkyo-Ku, Tokyo 113, JAPAN