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,2c6139ce13be9980 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,2c6139ce13be9980 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,3d3f20d31be1c33a X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,2c6139ce13be9980 X-Google-Attributes: gidf43e6,public From: "Samuel T. Harris" Subject: Re: Separation of IF and Imp: process issue? Date: 1997/09/12 Message-ID: <34195CE9.30FB8602@hso.link.com>#1/1 X-Deja-AN: 271919496 References: <33E9ADE9.4709@flash.net> <5utag9$o6s@newshub.atmnet.net> <5v1gua$fkk@newshub.atmnet.net> <5v2k2n$1cfu$2@flood.weeg.uiowa.edu> <5v4095$h62@newshub.atmnet.net> <34158D84.299F6103@calfp.co.uk> Organization: Hughes Training Inc. - Houston Operations Newsgroups: comp.object,comp.software-eng,comp.lang.ada,comp.lang.eiffel Date: 1997-09-12T00:00:00+00:00 List-Id: Robert Dewar wrote: > > Jon said > > < maintenance nightmare if not used very carefully. It basically > results in a kind of "structured spaghetti code" (borrowing one of > Paul Graham's descriptions of it).>> > > It is interesting to consider the view of the anti-use fanatics in the > Ada world. The argument about always using dots is that it is essential > to clearly know at all times where the thing you are calling is located. > > But of course in a sense the whole idea of dynamic dispatching (I do wish > people would use exact features in discussions, and not the vague meaningless > catchall term OOP), is to make sure that you do NOT know where the code > you are calling is! > > This does not mean it is terrible to use DD (indeed, as you know, I don't > think it is so terrible to use USE clauses). But it is a reminder that just > as overuse and incorrect use of USE can cause mainteance problems, overuse > and incorrect use of dynamic dispatching can be even worse (at least in the > former case, a simple static tool can put the dots back in for you). This ties in two other responses I've just made to two other threads. Conservative projects put strict controls on the use of "use". While I don't agree with all the "justifications" concerning the risks of "use", I also don't feel the limited use of "use" is particularly restrictive. Bottom line, I treat is as a issue of style and I try not to lose any hair over it (those who know me know I've lost enough hair already :) As to the issue of "needed" explicit, fully described calls to subprograms and such, the proliferation of smart Ada browsers, editors, and preparation tools such as Apex, Emacs with the Ada stuff, ada2html for Web browsers make these arguments moot. Only code reviewers who are limited (or limit themselves) to simply ASCII text or hard copy need be of concern with such issues. Indeed, with Apex, I can take code and do a "complete" operation on it and I get full dot notation for subprogram calls AND named notation instead of positional (I don't know is Emacs can do this) so I can easily accomodate such folks when the need arises. My point here is that with the sophistication of the tools available, many of which are free, human readability issues in day-to-day work are really non-issues. Of course, hard copy source also appears in books so language design should always be concerned with such things that satisfy the lower form of representation, but with good tools the world I'm in and share with others is free from such concerns. -- Samuel T. Harris, Senior Engineer Hughes Training, Inc. - Houston Operations 2224 Bay Area Blvd. Houston, TX 77058-2099 "If you can make it, We can fake it!"