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: Sacha@easynet.fr (Vincent WEBER) Subject: Re: Eiffel and Java Date: 1996/10/29 Message-ID: <55639c$1of@buggy.news.easynet.net>#1/1 X-Deja-AN: 193046688 references: <550sm2$sn1@buggy.news.easynet.net> content-type: Text/Plain; charset=US-ASCII organization: SITA mime-version: 1.0 newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-10-29T00:00:00+00:00 List-Id: In article , mheaney@ni.net says... >> By the way, one more thing : I just had a look at ADA 95 and it's "OO" >model. >>Even if I admit it is powerful, I think it's very heavy. (The ADA 9X group had >>to keep all the Ada 93 stuff...:)). However, one thing interested me : Ada >>fanatics claim that the dot notation break the symetry of natural operation, >>and that Ada's model of dynamic bindings in all the parameters of a procedure >>is better (that is, writing for instance Add(VectorA, VectorB) instead of >>VectorA.Plus(VectorB). I don't know what to think about this controversy. Any >>idea ? > >I guess I would qualify as one of those "Ada fanatics." ;-) > >What do you mean by "heavy," exactly? The entire language, or just the >object-oriented features? You state that we had keep all the Ada 83 >features, but what's your issue with that? > Well, I meant that keeping non-OO Ada 83's philosophy made the language quite hybrid and complicated. We have both variant records and tagged records, packages are not true semantic units (you can put just what you want in them), and lots of things remain procedural philosophy (pointers to functions, lots of kinds of types instead of classes, etc...). Moreover Ada fan's claim Ada is the only language that separate interface from implementation. That can be true... to some extent : you have to declare the details of a type in the private section of the interface, for instance. That makes the programmer repeat the same code in both interface and implementation, whereas the interface is just a subset of the whole code... To deffer the implentation of a type, I prefer Eiffel's deffered classes, that seem more elegant to me, and yet more powerful (you can have several implementations for the same interface). OO features of Ada 95 are quite difficult to use when you're not used to them. All the concepts are there, but they're dispatched in lots of places, you have several ways of doing the same thing, and the readibility of the code suffer from that. I prefer Eiffel's ideology : "One thing in one way". I would add that Ada's syntax is quite redundant and complicated. For all that reasons, I founded Ada was heavy. >You don't seem to mind putting threads in Eiffel, so the Ada tasking >mechanism can't be it. You're right... I admit that Ada's built-in multitasking, and that from the begining of the language, is very nice :) > >Ada's type mechanism accomplishes the equivalent of pre- and >post-conditions, and you don't seem to mind their inclusion in Eiffel, so >that can't be it. Well, to some extent... I admit you can easily use pre and post conditions in Ada, although maybe in a less elegant way. But in Ada It may be difficult to emulate an invariant :) > >You seem to like generics, so that can't be it. > I agree with you :) Generics are necessary. >You seem to like Java's package mechanism, so it's inclusion in Ada can't be it. Hum... The Packages in Java are ordered collection in classes. In Ada, they are... hum, by the way, what are they exactly ? :) > >