|By: Paul S. Cilwa||Viewed: 1/19/2020
|Topics/Keywords: #C++ #VisualC++ #VisualBasic||Page Views: 1342|
|Microsoft doesnï¿½t seem to realize that, just because the problem is important and the benefits of solving it will be enormous, hundreds of people arenï¿½t necessarily needed to work on it.|
When I was in third grade, I was introduced to the world of humorous literature with The Peterkin Papers, a collection of short stories written at the turn of the century.
In the first chapter, "The Lady Who Put Salt In Her Coffee," Mrs. Peterkin absent-mindedly puts salt in her coffee instead of sugar. She panics. What can be done? She brings in the family for suggestions, and they involve just about everyone in town. The herb lady offers some rosemary and thyme and other herbs, and Mrs. Peterkin tries adding them to her coffee. The effect is interesting—even pleasant—but not quite like coffee. The druggist offers drugs (a charming comment on a simpler time) which Mrs. Peterkin also adds, and again, the taste is appealing but not quite right.
Finally, as a last, desperate move—by now it’s afternoon and Mrs. Peterkin still hasn’t had her coffee—they approach the Lady from Philadelphia, who, it is assumed, must be very wise because she is visiting from the big city. They tell her the whole story: about the accidental dose of salt, the herbs, the drugs, and all the rest. When they finish, the Lady from Philadelphia looks puzzled. "But, my dear," she says, "why don’t you just pour yourself a fresh cup?"
All the stories in The Peterkin Papers are like that: the Peterkins get so involved in what they’re doing, that they forget what it was they were trying to accomplish; and only the Lady from Philadelphia can set them straight.
Which brings us to OLE 2.
In researching my book, Windows 95 Programming with Software Components, I had to plow through the endless header files and inadequate documentation that make up this beast, and I have never in my life seen so much code written for no obvious purpose other than to obfuscate the remaining code. There are macros that create typedefs that help form class declarations. There are macros that invoke macros that invoke other macros! Everything is spread out over five or more header files, so looking for something as simple as a struct declaration is like going on a scavenger hunt…or trying to find an antidote for salt in one’s coffee.
The benefits that OLE tries to bring—machine independence, embedded documents, reusable software components—especially that—are important ones and certainly worth the effort. But Microsoft doesn’t seem to realize that, just because the problem is important and the benefits of solving it will be enormous, hundreds of people aren’t necessarily needed to work on it. More often, the fewer implementers, the better. All those excess people become enmeshed in what they are doing, and lose sight of the goal.
OLE 2 requires something like six DLLs to run; and dozens of header files and .LIBs to develop with. It’s so complicated, the guy who published the first book on it has stated he didn’t understand it while he was writing the book.
What a pity no one asked the Lady from Philadelphia to design this technology.