I stumbled across this interesting blog from 2005 that discussed an
idiom I hadn't encountered before: Abstraction Impedance.
http://hinchcliffe.org/archive/2005/09/22/2233.aspx
In a nutshell, the notion seems to be that "[n]ow that the
object-oriented paradigm has become established as the predominate
model of abstraction in software development, developers have been
incurring a large amount of overhead in mapping it to other
abstractions, specifically XML and relational databases." He suggests
that developers may be spending (loosing) as much as 40% of their time
in this way.
I wish I had time to explore all the info he cites and consider it
more carefully. I'm inclined to see the problem he describes as a
subset of the issues inherent in the Jigsaw Puzzle Paradigm of
software development, and to think the 40% figure is correspondingly
too small.
Why do we map data from one abstraction to another anyway? It can't
just be for our health... it must be related to what we intend to *do*
with that data, and how the components we interact with expect that
data to arrive. These expectations are all over the map.
drew