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.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!purdue!rjh From: rjh@cs.purdue.EDU (Bob Hathaway) Newsgroups: comp.lang.ada Subject: Re: Topdown design Message-ID: <6152@medusa.cs.purdue.edu> Date: 2 Mar 89 18:54:06 GMT References: <8902281333.AA26629@ti.com> Sender: news@cs.purdue.EDU Reply-To: rjh@cs.purdue.edu (Bob Hathaway) Organization: Department of Computer Science, Purdue University List-Id: In article <8902281333.AA26629@ti.com> petcher@skvax2.csc.ti.com writes: >> Something that neither one of you guys addressed, and that I think is >> crucial to the whole "Top-Down Design" issue, is reusability. >> Top-down design implies leaves that are custom made for the program >> at hand. Reusability implies molding the problem definition around >> leaf (and maybe not-so-leaf) modules that are already available. >> After all, for a hardware design, you wouldn't design your own ICs, >> would you? > >Top-down design need not be incompatible with re-usability. The key is to do >only the design in a top-down fasion, followed by bottom-up implementation. > >Malcolm Petcher I agree, keeping reusability in mind while designing any software will result in reusable parts. The only reason to "custom make" software is for efficiency so the tradeoff is clear. With inline pragmas the benefit of procedural abstraction can be realized without cost but since violations of abstraction boundaries is not permisable to the programmer, some optimizations cannot occur. But I think the benefits of well designed software outweigh their cost. Profiling software looking for bottlenecks can point out good optimization points, if any. Bob Hathaway rjh@purdue.edu