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.6 required=5.0 tests=BAYES_05,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,f66d11aeda114c52 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,f66d11aeda114c52 X-Google-Attributes: gid103376,public From: Nick Leaton Subject: Re: Design By Contract Date: 1997/09/08 Message-ID: #1/1 X-Deja-AN: 270789927 References: <5ulurp$aj8$1@miranda.gmrc.gecm.com> Reply-To: nickle@compulink.co.uk Organization: CIX - Compulink Information eXchange Newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1997-09-08T00:00:00+00:00 List-Id: > 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. There are some exceptions to this. I agree with you on MI for example, but if the idiom is particularly easy to express or occurs rarely, then there is no need to extend the language to cope. Having, somewhere in the language specification, a note on the idiom helps, because at least the solution is standard. > For example Eiffel has direct support for multiple inheritance (MI). Ada > requires you to play games with generic parameters in order to achieve > the same effect. > > Here are the reasons I dislike idiomatic programming: > > 1: Its harder to read. The reader must "reverse engineer" the design > of the system by looking at the idiom and recognising it. This > generally requires that the reader be familiar with the idiom in > question. I recall being totally flumoxed when I was learning > assembler and came across my first "JMP" instruction at the end of > a routine. Later of course, I learned the trick and would now understand > such code. Its like learning a spell which you must chant to protect yourself. .. Nick