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!purdue!rjh From: rjh@cs.purdue.EDU (Bob Hathaway) Newsgroups: comp.lang.ada Subject: Re: Design Message-ID: <6162@medusa.cs.purdue.edu> Date: 3 Mar 89 19:22:51 GMT References: <890302220159.62f@VLSI.JPL.NASA.GOV> Sender: news@cs.purdue.EDU Reply-To: rjh@cs.purdue.edu (Bob Hathaway) Organization: Department of Computer Science, Purdue University List-Id: In article <890302220159.62f@VLSI.JPL.NASA.GOV> larry@VLSI.JPL.NASA.GOV writes: >-- >A discussion of whether top-down or bottom-up design is better is ridiculous. >It's like arguing over whether hands or feet are better. Each have different >but complementary uses. The person who can (or chooses) to use only one of >them is handicapped. > Umm, within modules several general approaches are possible. I've been using top-down to refer to starting with top level design and my last article asked for alternatives, I'm not sure there is a better way. Would you begin the design of the presented compiler front-end without the top level design? How do you go about designing your Adts, starting at the top and recursively applying design? I'm interested in cases and examples where this doesn't apply. >The common theme in each of the three above areas is that the participants show >no idea of what trade-offs are and how to use them. "Trading off" is a core >concept in engineering, one that should be alloyed with every idea and >technique the SW professional possesses. If not, they aren't engineers but >only technicians. > Larry @ vlsi.jpl.nasa.gov Yes, abstraction vs. efficieny is a tradeoff in good design that all proficient programmers are aware of, and I could go on. I'm not sure I would want to work with a (low quality) program which didn't use Adts or reasonable encapsulation constructs. Advocates of modern design and well engineered software are high quality engineers and not technicians, we simply prefer to work with state of the art techniques and are aware of the tradoffs involved. Bob Hathaway rjh@purdue.edu