Stop Labeling Everything as an Impedance Mismatch! by Jos Dirksen (DZone Java Lobby).
Jos writes:
I recently ran across an article that was talking (again) about the Object-Relational mismatch. And just like in many articles this mismatch is called the Object-Relational Impedance mismatch. This “impedance mismatch” label isn’t just added when talking about object and relational databases, but pretty much in any situation where we have two concepts that don’t match nicely:
As someone who has abused “semantic impedance” in the past (and probably will in the future), this caught my eye.
Particularly because Jos goes on to say:
…In the way we use it impedance mismatch sounds like a bad thing. In electrical engineering it is just a property of an electronic circuit. In some circuits you might need to have impedance matching, in others you don’t.
Saying we have an object relation impedance mismatch doesn’t mean anything. Yes we have a problem between the OO world and the relation world, no discussion about that. Same goes for the other examples I gave in the beginning of this article. But labelling it with the “impedance mismatch” doesn’t tell us anything about the kind of problem we have. We have a “concept mismatch”, a “model mismatch”, or a “technology mismatch”.
That impedance, a property of every circuit, doesn’t tell us anything, is the important point.
Just as “semantic impedance” doesn’t tell us anything about the nature of the “impedance.”
Or possible ways to reduce it.
Suggestion: Let’s take “semantic impedance” as a universal given.
Next question: What can we do to lessen it in specific situations? With enough details, that’s a question we may be able to answer, in part.