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,88e7ef9008757431 X-Google-Attributes: gid103376,public From: "Michael F. Yoder" Subject: Re: Function Calls by Address Date: 1999/09/07 Message-ID: <37D504BB.631A46FD@decada.zko.dec.com>#1/1 X-Deja-AN: 522199969 Content-Transfer-Encoding: 7bit References: <37CADE68.6AF06F5D@escmail.orl.lmco.com> <37CEEFFA.7D73F78D@magic.fr> <7qooh7$hbh$1@nnrp1.deja.com> <37CFFEA6.921CBE59@magic.fr> Organization: Compaq Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-09-07T00:00:00+00:00 List-Id: Francois Godme wrote: >By the same matter, who is still using the > 'separate' construct for writing new applications? > > Francois Godme I agree with essentially all the other pro-subunit arguments that have been posted, and I'd like to add two not yet adduced. My primary use of 'separate' is to aid the "literate programming" process: it greatly simplifies exposition with a literate programming tool that has no macro facility. (Those familiar with WEB et al. may be surprised by this, but macros aren't needed for literate programming. Macros that go beyond trivial uses are unsafe, hard to debug, and hard to modify, so this is a good thing IMO.) Aside from this, I think the top-down, stepwise refinement method is hard to beat for producing clean, correct programs efficiently. (Newer paradigms are not necessarily better paradigms.) Bottom-up methods often suffer from the St. Louis archway problem: you build the two halves of the arch and find they are several feet apart at the top, then resort to kludgery to fix things. In the case of the archway, the solution was fire hoses applied to produce differential thermal expansion; this had the virtue of not leaving permanent scars, which isn't always true for software fixups. Lest this spin off an entirely new thread, I'll note that I more often use alternating top-down and bottom-up coding than a pure top-down style (and I sometimes temporarily paint myself into a corner as a result). But if I had to choose between doing one or the other strictly, I would elect the top-down approach. -- Michael F. Yoder Unscientific man is beset by a deplorable desire to have been right. The scientist is distinguished by a desire to *be* right. -- W.V. Quine