Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!att!cbnewsh!gls From: gls@odyssey.att.com (Col. G. L. Sicherman) Newsgroups: comp.software-eng Subject: Re: the scientist and the engineer Message-ID: <1991Jan26.210023.28534@cbnewsh.att.com> Date: 26 Jan 91 21:00:23 GMT References: <10061@as0c.sei.cmu.edu> <10185@as0c.sei.cmu.edu> Sender: gls@cbnewsh.att.com (Col. G. L. Sicherman) Distribution: na Organization: Save the Dodoes Foundation Lines: 40 In <10185@as0c.sei.cmu.edu>, rsd@sei.cmu.edu writes: > > There is some confusion here between the roles of engineering and science. > Science is discovery through hypothesis testing (in books, anyway, where > serendipity is ignored); engineering fabricating from the known. Engineers > build what they already know how to build, with only small differences > allowed between successive designs. We would never award a contract to a > engineering firm that has never build a bridge before. > > However, we let programmers hack away at things they've never built before, > on our money, and express surprise at the results. Of course we do! Why should I write the same program twice? Once a program works, everybody can use it; software can be copied. But you can't copy a bridge in shar format. That's why construction workers mostly do old things and we programmers mostly do new things. This is also why managers who treat software as a manufacturing product go wrong. Mass manufacturing deals in repeated products--it rests on Baconian science in its dependence on repeatability. Software lies at the boundary between order and chaos. That's what it's for, so it *always* heads for the boundary. Software makes nonsense of mass markets and other anomalies of print-age culture. (And print-age culture interprets this phenomenon as "transition to a service economy.") In programming, software engineering cannot push back the boundary--it can only modify its geometry. The programmer's greater understanding informs the program much as music informs a collection of notes. When nobody maintains your pencil sharpener, it works fine; when nobody takes *personal* responsibility for a program, it soon rots. And the rot is imponderable to engineers, for they are trained to abstract the problem from the people. -:- "The identical is equal to itself, since it is different." --Franco Spisani, _Philosophical Foundations of Autogenetic Logic_ -- Col. G. L. Sicherman gls@odyssey.att.COM