Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!rutgers!att!alberta!dvinci!zaphod!bobd From: bobd@zaphod.UUCP (Bob Dalgleish) Newsgroups: comp.software-eng Subject: Re: VMS vs. UNIX s/w development tools - query Summary: Roll your own Keywords: VMS UNIX tools Message-ID: <2936@zaphod.UUCP> Date: 11 Apr 89 20:14:56 GMT References: <600@mitisft.Convergent.COM> Reply-To: bobd@zaphod.UUCP (Bob Dalgleish) Organization: Develcon Electronics, Saskatoon SK Canada Lines: 33 The major difference between Un*x and V*S is that it is EASY to write your own tools in Un*x. The use of pipes means that homomorphic transformations can be applied one after the other until you get the desired result: read this as functional decomposition. When pipes are expensive, inconvenient, or awkward to use, the software developers spend less time writing simple tools to help them in their work and more time doing things by hand or using the supplied tools. There is no argument that the programs available on V*S are better or worse than those on Un*x. The argument is whether it is easy to put several tools together to make one that does the job that *I* want done right now. Remember, Man is the tool-MAKING animal. Many other animals use tools (birds, monkeys, otters, etc.). Spending a small time to put tools into one's bag of tricks makes one much more effective as a software developer. The shells that run on V*S cannot hide all of the differences. The architecture of V*S assumes monolithic applications with well-defined interfaces that start up, run for a (relatively) long time, and get ready for the next request; Un*x assumes small applications that come and go as they please, creating and destroying files readily. Consequently, Un*x shells run slowly and awkwardly, destroying any advantage that might have been gained by making your own tools. Any argument that writing a C program to more efficiently do the job is absurd; the expensive part of the process is the programmer time, not the machine time. It takes me 5 minutes to design, implement and test a simple three stage shell script to do some straight-forward analysis; it takes me one day to design, write, and test the same code in C. With that trade-off, which do you think I would prefer? How about you? -- --[ It is good to be back in the saddle ]-- Bob Dalgleish bobd@zaphod.UUCP