Xref: utzoo comp.object:3064 comp.software-eng:5282 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!cs.utexas.edu!rice!uupsi!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.object,comp.software-eng Subject: Re: How to pay for reusable software Message-ID: <3318:Apr705:51:2391@kramden.acf.nyu.edu> Date: 7 Apr 91 05:51:23 GMT References: <1991Apr3.231849.13410@m.cs.uiuc.edu> Organization: IR Lines: 25 In article <1991Apr3.231849.13410@m.cs.uiuc.edu> johnson@cs.uiuc.EDU (Ralph Johnson) writes: > This leads to an interesting problem: how can we afford to pay the > costs of developing reusable software? Easy: You *don't*. The problem in software today isn't code that's written once. As you observed, it is absolutely pointless to take a unique section of code and make it reusable---or even to start by writing it reusably. But as soon as the code is written twice, it should never have to be written again. As soon as you see that you're *reusing* software, you go back, make the original *reusable*, and then *reuse* it. Any competent programmer will assume that what he uses twice, he'll use again, and so he'll put in the extra effort so that it's easy to use. Never do this before you realize that the software will be reused, and you won't waste any money. (As many people have observed, there is a problem of communication here: if programmer X and programmer Y independently need something---once--- then neither of them will realize that it should be made reusable. The only way to improve this situation is to distribute code.) ---Dan