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: 103376,f66d11aeda114c52 X-Google-Attributes: gid103376,public X-Google-Thread: fac41,f66d11aeda114c52 X-Google-Attributes: gidfac41,public From: jsa@alexandria.organon.com (Jon S Anthony) Subject: Re: Design By Contract Date: 1997/09/05 Message-ID: #1/1 X-Deja-AN: 270012973 References: <5ulurp$aj8$1@miranda.gmrc.gecm.com> Distribution: world Organization: PSINet Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 1997-09-05T00:00:00+00:00 List-Id: In article <5ulurp$aj8$1@miranda.gmrc.gecm.com> paul.johnson@gecm.com (Paul Johnson) writes: > These are wise words. On the other hand I would hold that a > language with direct support for something is better for that thing > than a language which requires some idiom. I hope you realize how relative this is to the problem space. Those who _really_ believe this have pursued the path of Application Specific Languages (ASLs), often with automatic generation (so called "meta generators"). Another option is CL, where you can basically build your own ASLs via macros (I suppose this counts as a kind of "meta idiom" as it is very typical technique in CL programming). > 2: Its harder to optimise. I suspect that MI in Ada provides another > good example here. In Eiffel the various jump tables needed for MI > can be optimised, for example by eliminating duplication. As far as > I can see you can't do that in Ada because the compiler does not have > the necessary information about what the programmer is doing. > > (BTW, I would be very interested in more information about that last point). I see absolutely nothing to justify this position. The instantiations happen at compile time and full information is available about what is happening. > Of course, this on its own would be an argument for a very large and > complex language with specific support for just about everything. This Not necessarily. Again, take a look at CL. > feature. So the skill in language design and evaluation is in determining > which constructs are so common or require such complex idioms that they > should be supported directly by the language. This sounds right to me. > IMNHO, MI is such a feature. And in mine, it's clearly _not_. If you are going to run down this sort of road, multiple dispatch (ala' CLOS) seems _clearly_ more fundamental than MI. /Jon -- Jon Anthony OMI, Belmont, MA 02178, 617.484.3383 "Nightmares - Ha! The way my life's been going lately, Who'd notice?" -- Londo Mollari