Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ecrhub.UUCP Path: utzoo!hcrvax!ecrhub!david From: david@ecrhub.UUCP (David M. Haynes) Newsgroups: net.lang.c Subject: Re: Unix/C program modularity Message-ID: <272@ecrhub.UUCP> Date: Thu, 17-Oct-85 19:15:05 EDT Article-I.D.: ecrhub.272 Posted: Thu Oct 17 19:15:05 1985 Date-Received: Fri, 18-Oct-85 11:51:35 EDT References: <637@dicomed.UUCP> Organization: Emerald City Research, Toronto Lines: 45 > In <637@dicomed.UUCP>, Kurt Papke writes... > > Applications programs that have been designed to run under Unix > tend to have a low percentage of re-usable code. > > Why might this be the case ?? Further inspection of much code shows that > applications designed for the Unix environment tend to follow the spirit > of the Unix operating system: design your system as a series of small > programs and "pipe" them together (revelationary!) Such an approach implies at least one scenario for this type of code. Programmer A has been given an assignment and writes small, easily debugged pieces of code to test the design and general algorithms of the task. This done, s/he approaches his/her manager for approval of the design. The mananger says great! It works! Let's leave that code alone. Here's your next assignment. Voila! Design code becomes production code in one easy step! (I must have seen this one happen millions of times) > Are we being lulled into using an O/S and language that allows us to whip > together quicky demos to demonstrate concepts, at the expense of long-term > usefulness as a finished product ?? Only when MANGEMENT has not allowed sufficient time/resources for the implementation of production code and has not set the STANDARDS required for code to be accepted as production code. Can you say code review? One of the things UNIX (and C) has allowed programmers and designers is the opportunity to test concepts and algorithms before committing major resources to a project. I have been involved in projects where the end product would not work simply because the basic assumptions made in the design were not valid, but there was no method for spotting the problem a priori. UNIX allows designers to, at least, test the concepts ahead of time. -david- -- -------------------------------------------------------------------------- They only asked me one question, and David M. Haynes that was, "What is your name?" Exegetics Inc. And I got 75% on that one... ..!utzoo!ecrhub!david [Peter Cook - Beyond the Fringe] Exegetics Inc. is a legal convenience and does not care what I have to say. Emerald City Research Inc. is very kind to let me use their machine, but in no way is even remotely responsible for the stuff I post.