Lambda the Ultimate Denial of Service?
A Google search for "Spinellis critique" found the PDF at:
http://www.dmst.aueb.gr/dds/pubs/jrnl/1997-CSI-WinApi/html/win.pdf
I skimmed it quickly, being interested since I've spent much of my professional career trying to avoid the Windows API as much as possible while at the same time consulting to clients who use Windows almost exclusively.
I didn't find it an enormously compelling paper, though. A lot of it seems to be nitpicks, or self-evident (e.g. the API is large therefore difficult to formally proof). Not that they aren't valid criticisms, but I suspect it would be possible to mount a much more scathing attack.
One example would be version management. The paper touches on what Microsoft itself has referred to as DLL hell, but doesn't really point out how simple it could have been for Microsoft itself to create standards for sensible versioning. No new technology would have been required. This was not a technological issue, but rather one of sheer strategic incompetence and shortsightedness [or possibly the opposite: evil genius in recognizing how such unmanageable software might actually help them in the marketplace, creating a demand for upgrades, for example.]
Near the end, the paper says, "Microsoft should recognise its responsibility in the market place and — breaking away with the past — invest effort in the design of a high-level, orthogonal, intuitive, structured, complete, and extendable API that will cover its own and the industry’s current and future needs." Since the paper was written, in 1997, Microsoft has taken a stab at exactly that, with its .NET effort.
So, while I'm sympathetic to the intent of the paper, it seems like too little, too late (although it might have seemed a little more relevant in 1997).
|