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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,c52c30d32b866eae X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,c52c30d32b866eae X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,2ea02452876a15e1 X-Google-Attributes: gid103376,public From: donh@syd.csa.com.au (Don Harrison) Subject: Re: Real OO Date: 1996/04/12 Message-ID: #1/1 X-Deja-AN: 147019737 sender: news@assip.csasyd.oz references: <4kbqun$iiv@watnews1.watson.ibm.com> organization: CSC Australia reply-to: donh@syd.csa.com.au newsgroups: comp.lang.eiffel,comp.lang.ada,comp.object Date: 1996-04-12T00:00:00+00:00 List-Id: Norman writes: :In article , donh@syd.csa.com.au (Don :Harrison) writes: : :|> With such an appreciation of OO, you ought to be a big fan of Eiffel! : :I have nothing against Eiffel, and my background in formal methods makes :me especially appreciative of the Eiffel approach to formalizing :inheritance, That's nice to hear. : but I find the Ada model of dispatching less error-prone and :more flexible. Not sure how you arrive at this. :Your remark betrays a provincial view, however--that Eiffel is the One :True Answer for all those who want to write OO programs. Smart-aleck :one-liners like : :|> BTW, I notice Ada people have a penchant for humungous identifiers. Is this :|> an unconscious attempt to balance out the heavy syntax? ;-) : :only confirm this. Sorry for being impolite. : You ought to open your mind and broaden your :horizons. Yes, I confess my knowledge of OO languages is fairly narrow. I guess I'm very selective about which I bother looking into especially when I know how well designed Eiffel is. Some claim that Sather is good and I would like to know more about it but, from my understanding, it has no assertions and has (or is about to have) a separate module mechanism. If this is true, it seems likely the designers have missed the importance of assertions and uni-encapsulation in an OO model. Don't think that I advocate these qualities because they exist in Eiffel. Rather, I advocate Eiffel because it's design shows that Bertrand Meyer has recognized the importance of these (and other) characteristics in an OO model. I understand his frustration at the refusal of the vast majority of the OO community to acknowledge that these elements are important. The pure and simple fact is that they have missed it and he has got it right. You may think that I've just embraced these ideas because I like Eiffel so I'm just prepared to blindly accept whatever Bertrand says is important. That is not true. Before I started this thread, I was aware of what elements he considered essential (although I had forgotten some of them) and had not read about them in OOSC or elsewhere. I sought to determine by my own reasoning whether they were essential, preferable or didn't matter and independently came to the conclusion that to maximise reusability and reliability, they WERE essential. To accept anything less is to diminish the efficacy of the OO paradigm. I was encouraged a couple of weeks ago when I perused a copy of OOSC in a bookshop (to find out about function 'dynamic_type') and found that my thinking was close to Bertrand's. I think the problem with many people is they fail to recognise that the OO paradigm is fundamentally different from the traditional approach so they tack inheritance and polymorphism onto a traditional language base and think they have OO. The real power of OO is it's ability to maximise reuse and reliability. These things are probably realised to their full potential in Eiffel because the elements of OO that are essential to acheive those goals are present in the design. It amazes me that so many experienced software people acknowledge that Eiffel is better designed than most OO languages but in the next breath claim that the elements that make it distinctive are not necessary. The reason Eiffel is as good as it is is BECAUSE it has these features (eg. uni-encapsulation, inheritance, polymophism, assertions, GC, static typing, MI). Other languages have some of them but Eiffel has all of them. I think that Ada95 is a vast improvement over Ada83. But Ada with real OO would be much better than Ada95. And Eiffel is much better than both. Yes, I am narrow minded but have good cause to be! [...] :-- :Norman H. Cohen ncohen@watson.ibm.com Don.