Path: utzoo!attcan!uunet!samsung!usc!wuarchive!udel!princeton!pucc!EGNILGES From: EGNILGES@pucc.Princeton.EDU (Ed Nilges) Newsgroups: comp.software-eng Subject: Re: Development vs Engineering Message-ID: <11930@pucc.Princeton.EDU> Date: 22 Oct 90 15:43:28 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 Organization: Princeton University, NJ Lines: 40 Disclaimer: Author bears full responsibility for contents of this article In article <2043.27232d06@waikato.ac.nz>, coms2269@waikato.ac.nz (Brent C Summers) writes: >Distribution: comp >Organization: University of Waikato, Hamilton, New Zealand >Lines: 27 > >EGNILGES@pucc.Princeton.EDU (Ed Nilges) writes: >> 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 > >Distribution in source enables "programmer reassurance", but not as much as >formal verification (or automated verification even?) might, and it leaves >the door open to tampering with "standard" software tools/materials. I can't >find it in my heart to believe that the majority of programmers will resist >for long the temptation to "just tweak this a bit so it'll do what I want..." >thus ruining not only that implementation, but also eventually the entire Standards are supposed to be voluntary; the rewards of adhering to a stan- dard are supposed to outweigh the rewards of departing from it. The majority of programmers may, or may not, be sensible enough to make a back up copy before "tweaking" a piece of software. However, I find the idea that libraries must be object-code only (OCO) solely to prevent such "tweaks" (1) repugnant and (2) dishonest. It's a repugnant idea since software is sufficiently error-prone that the only way a standard library will ever be fully tested is through a SOCIAL process, consisting in the verifications of the original devel- opment team, together with the activities of any and all readers, who are encouraged to comment on any errors they may find. This is the way Knuth, for example, was able to offer n*2 dollars every year for bugs found in the source code of TEX: the very process of publishing TEX buys you a vast testing group. I am not saying that you should subject the public to Chernobyl-like tests of your code. This process should follow all other standard tests. It's dishonest because the real motivation of OCO is not to protect the public from irresponsible programmers tweaking your code (by the way, code that is sufficientl robust and general needs fewer tweaks). It is (1) to hide trade secrets and (2) to hide blunders.