[
Lists Home |
Date Index |
Thread Index
]
5/1/02 2:06:32 PM, Mike Brown <mike@skew.org> wrote:
>I just keep thinking back to MSXML and whitespace, though. There's an example
>of a processor bucking the trend, and on the whole, no one is really suffering
>because of it. I think the reason for this is that most people pick an XSLT
>processor, code to its quirks, its features and its APIs, and they stick with
>it.
"I just keep thinking back to Netscape and unclosed quoted attributes, though. There's an example of
a browser bucking the trend, and on the whole, no one is really suffering because of it. I think the
reason for this is that most people pick a Web browser, code to its quirks, its features and its
APIs, and they stick with it."
[historical note: when the Netscape folks made internal implementation changes to their parser, many
HTML documents that had unclosed quoted attribute strings simply broke, as in large chunks of the
content not being displayed]
The danger of coding to a processor's quirks is that you have no idea whether those quirks exist for
deliberate reasons, or are accidents of internal implementation details that might eventually be
changed with no conscious attention to the quirks. I wouldn't write code that depended on a CPU
returning a particular value upon division by zero unless it were documented. Solid design is
preferable to kewl hacks (I'm reminded of Gerald Weinberg's story about the group developing an
assembler for an early CPU. They managed to find a perfect hash function that mapped each opcode
into a single byte, so they didn't have to implement chaining or probing. But then the spec for the
CPU changed, a new opcode was added, and try as they could, the group couldn't find a perfect hash
function anymore. So they had to go back and implement a standard hash lookup anyway, so all the
effort, and more, that went into the kewl hack was wasted).
|