Re:We Are Abstracting on the Shoulders of Giants
by falcolas on Wednesday May 28, 2014 @01:32PM
(#7811632)
> How is having to re-write the abstraction layer a "cost of abstraction"?
Because in my experience, it's never as clean cut as "this abstraction doesn't work, lets go re-write it". The process typically goes more like:
* Identify that there's a problem, start trying to understand the code in the abstraction in order to identify the problem.
* Fork the abstraction code and make changes to it.
* Attempt to push changes upstream because "if I have the problem, other people have the problem as well", plus all the work that comes with pushing changes upstream.
* Repeat the previous three steps for a period of time ranging from months to years
* Find another implementation of the abstraction and repeat the previous four steps again.
* Finally give up and then re-write the whole abstraction in a way which actually works for your needs.
Land mines are also a leaky abstraction of the facilitation of forward movement as you have pointed out, but I have a hard time getting the "technical debt explosion in potentia" out of my mind.
Because in my experience, it's never as clean cut as "this abstraction doesn't work, lets go re-write it". The process typically goes more like:
* Identify that there's a problem, start trying to understand the code in the abstraction in order to identify the problem.
* Fork the abstraction code and make changes to it.
* Attempt to push changes upstream because "if I have the problem, other people have the problem as well", plus all the work that comes with pushing changes upstream.
* Repeat the previous three steps for a period of time ranging from months to years
* Find another implementation of the abstraction and repeat the previous four steps again.
* Finally give up and then re-write the whole abstraction in a way which actually works for your needs.
Land mines are also a leaky abstraction of the facilitation of forward movement as you have pointed out, but I have a hard time getting the "technical debt explosion in potentia" out of my mind.