James Antill - Post a comment
Jan. 11th, 2008
05:53 am - Re: Dependancies aren't as big a problem as assumed
Why not "fix the problem"? Come up with an API/policy to FORCE libraries to be backwards compatible?
Even if that was "just" very hard, how would you force libraries to do it? It's like saying the solution to a problem is to get all web pages to use white text on a black background. And a lot of libraries are backwards compatible at an interface API/ABI level, but that doesn't help as sometimes the only way to be 100% backwards compatible is to not change.
Essentially, if a new function needs to be added, or an existing function must be modified, create a new function name and add it to the API. Errors in existing API functions can be corrected without renaming. Or somesuch policy.
And what do you do when the function is called from 6 other functions, that you also export ... do you now have to create 7 new functions to do a 1 line change? And then what do you do for the applications that call the function which has changed behaviour ... do they call the new function or the old one? What about for the two scripts calling the applications, one of which wants old and one new? Pretending you can solve all the problems with a single result just doesn't work.