I’m constantly hearing from people, “Why would Microsoft do that?”
Or sometimes it takes the form of, “Why didn’t Microsoft
do that?” Almost invariably, this is because people are examining the situation
from the narrow perspective of their own problem domain. “Hey, I need something
that knows how to connect to any database and hide all the differences, and I’ve
figured out how to do it for my problem domain where I control all the variables.
So Microsoft should be able to do it for everyone.”
Well, the lessons of the last two decades have shown us that solving a problem generally
is much, much harder than solving it for one specific case. Or, to put it another
way, things are almost never as straightforward as they first appear. Along those
lines, Ingo has posted an article that
is an excellent example of this precept.