Thread View: comp.std.c++
1 messages
1 total messages
Started by gregory.p.kochanski
Fri, 08 Feb 1991 13:32
The cost of incompatibilities
Author: gregory.p.kochanski
Date: Fri, 08 Feb 1991 13:32
Date: Fri, 08 Feb 1991 13:32
42 lines
2514 bytes
2514 bytes
Here's a quick, ballpark economic-like analysis of when it's worthwhile to make a language incompatible. The idea is to calculate a immediate cost (in man-years) to make the change, and then compare it to a long-term benefit (increased productivity) by doing a present-value calculation with some reasonable interest rate. The cost: We assume a non-trivial change (that can't be mechanically applied easily with awk or sed or the like) that affects 1% of the lines of existing code. Assuming 'N' lines of code presently written, and a programmer productivity of 10 debugged lines per day (comparable to the rate of writing new code), the cost is 10^-3*N man-days, or 3*10^-6*N man-years. I believe 'N' is on the order of 10^7-10^8, but it ends up cancelling out in the end. The benefit: Assume that the change increases productivity by a factor of 'P', where P is probably just a little bigger than 1. Since C++ is about 5 years old, assume that the total number of lines is increasing at 1/5, or 20%, per year. Further assume that an average chunk of code is re-written or obsolete every 4 (?) years. Putting those together means that about (0.20+0.25)*N lines are (re)written every year. So the change saves (1-1/P)*(0.20+0.25)*N lines worth of work, or (at 10 lines per day) 1.5*10^-4*(1-1/P)*N man-years. Economics: Having something done now is always better than having it done next year. Getting $1 now is about as good as getting $1.1 next year (10% interest rate). Now, getting a product out now can be *lots* more valuable than that, because next year you may have five competitors. As a guess, let's use a 25% 'interest rate' to account for this. So now, we can compare the improvement in productivity with the 'interest' on the work expended to upgrade. Productivity: 1.5*10^-4*(1-1/P)*N Interest on upgrade: 0.25* 3*10^-6*N So, the change is worthwhile if P>1.01 or so: a 1% productivity improvement. Now comes the hard part -- estimating the productivity improvement that a given change makes. I leave that to the ANSI commmittee.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads