[<<][quack][>>][..]Fri Sep 10 13:09:08 CEST 2010
DLL hell, API versions, reusability and modularity
I think the important element isn't really reusability - it's
modularity: being able to oversee a design by minimising coupling.
Explicit interfaces are necessary for large projects, but they add a
positive feedback loop that leads to even larger projects.
What is necessary is "global API optimization": some mechanism that
feeds back "global consequences" of APIs back into the APIs and
_forces everyone_ to use them.
It's a bit like garbage collection and finalization: you need global
information (who has a reference but isn't using it) why you perform a
local operation (i want this resource now).
Let's call this the "global feedback problem" (GFP) and hold it
responsable for all problems in computer science.
Yeah. GFP you suck.
From the other side: some local decisions have huge global impact, so
in order to make good local decisions, you need to know their impact
factor _before_ you make the decision.
Is there a way to somehow express this more formally? Dependency
graph of API decisions?