Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!samsung!crackers!jjmhome!smds!rh From: rh@smds.UUCP (Richard Harter) Newsgroups: comp.software-eng Subject: Re: recap so far Summary: layering, decomposition, pluses and minuses Message-ID: <116@smds.UUCP> Date: 16 Jul 90 08:34:52 GMT References: <268462df> <39400111@m.cs.uiuc.edu> <114@smds.UUCP> <269b7b9d.5643@petunia.CalPoly.EDU> Organization: SMDS Inc., Concord, MA Lines: 30 In article <269b7b9d.5643@petunia.CalPoly.EDU>, jdudeck@polyslo.CalPoly.EDU (John R. Dudeck) writes: > What you call the "layering effect" is a negative aspect of what is the > otherwise highly desirable goal of decomposition of a problem into > cohesive, loosely-coupled chunks. The more we can increase the > independence, generality, and ultimately the reusability of our code, > the more advantages we gain in terms of programmer efficiency on the > long term, maintainability, etc. On the other hand, each layer of > abstraction involves adding a layer of indirection to the code. One can scarcely argue with your list of goals. However the whole matter is not exactly as simple as it seems. Barring the occasional circumstance where one is "programming down to the bare iron" we are using packages and facilities that are pre-existent all of the time. We use OS calls and facilities. We write in languages that are compiled and interpreted. We use routines from libraries (and pre-defined classes, etc.) None of these facilities and abstractions were created with our particular problems in mind. Sometimes the fit is good; sometimes people create the most Godawful kludges using off the shelf components. I guess all that says that is that people can write bad programs regardless of the languages and tools available. However I would like to make the point that efficiency and "good programming" are not antonyms. One can usually have your cake and eat it too. The only problem is that there is a price for doing it. -- Richard Harter, Software Maintenance and Development Systems, Inc. Net address: jjmhome!smds!rh Phone: 508-369-7398 US Mail: SMDS Inc., PO Box 555, Concord MA 01742 This sentence no verb. This sentence short. This signature done.