Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!samsung!noose.ecn.purdue.edu!iuvax!rutgers!njin!princeton!pucc!EGNILGES From: EGNILGES@pucc.Princeton.EDU (Ed Nilges) Newsgroups: comp.software-eng Subject: Re: Development vs Engineering Message-ID: <11923@pucc.Princeton.EDU> Date: 18 Oct 90 15:12:27 GMT References: <32087@athertn.Atherton.COM> <32084@athertn.Atherton.COM> <27696@bellcore.bellcore.com> <2450009@hpfcmgw.HP.COM> <84754@tut.cis.ohio-state.edu> <5682@stpst Reply-To: EGNILGES@pucc.Princeton.EDU Distribution: comp Organization: Princeton University, NJ Lines: 38 Disclaimer: Author bears full responsibility for contents of this article In article <32174@athertn.Atherton.COM>, mcgregor@hemlock.Atherton.COM (Scott McGregor) writes: >gunsmith opposition to interchangable parts when introduced, but that it >was the soldiers in the field and other consumers who preferred them. I didn't like Brad's gunsmithing metaphor. Computer programs aren't guns. For one thing, they are creatures of a symbolic rather than force-determined realm. For another, because gunsmithing evolved from a cottage industry into one of interchangeable parts does not imply that that's a good way for software to evolve. Brad's "primitive" programmers were not analogous to one-of-a-kind craftspersons, but were already (even in the 1950s) enmeshed in a highly industrialized culture. These programmers not only did not oppose standardization, it was they who INVENTED the use of subroutines and programming languages. So it's perfectly possible that programming may represent the Hegelian synthesis of thesis (cottage industry) and antithesis (the assembly line), with a return to the cottage manufacture OF STANDARDIZED PARTS which are then exchanged over the network by neo-craftspeople. Also, when you speak of soldiers "preferring" guns made of standardized parts, you may have shifted levels from when you spoke of scouts "preferring" a gun which they manufactured themselves, or at least could field-repair. Soldiers (and, I'd warrant, nonexpert computer users) don't "prefer" a gun, or program. They are issued their tools by The Powers that Be, who of course would prefer standardization. The brass, just like individual gunsmiths, can err, but when they err, they err big: what was the firearm which kept on failing in Vietnam? In like manner, compiled libraries can propagate errors much faster than Brad's bad old craftspeople. I like collections of source programs like NUMERICAL RECIPES... too bad there aren't more. Note that there is no reason why such collections can't be distributed in both source and object form to keep nonexperts happy (although I suspect the real reason for an object-code-only policy is not to avoid confusing nonexperts: I suspect it is to keep people in the dark about (1) your trade secrets and (2) the poor quality of your code.)