Maybe I'm just being absolutist. :-)
Here is how I "see" it. The W3 gives us a standard by which to construct documents. These are defined by spec. You can do this,
<p>blah</p>
But you can't do this.
<ul<li><p>bla</p></li></ul>
If someone were to code that up to get what they think is the desired effect, they are violating spec to obtain a result, which IMO is a hack.
Anything that violates the standard, the ruleset, to activate an effect, is technically a hack. The Wikipedia definition (or at least, my interpretation of it) seems to align with what I'm describing:
Hacking (English verb to hack, singular noun a hack) refers to the re-configuring or re-programming of a system to function in ways not facilitated by the owner, administrator, or designer.
Along comes IE, who says OK, our browser breaks when the standard is followed. So here's a hack you can do to make our browser work like the others. This is why, in my opinion, conditionals are hacks. They only validate because they are wrapped in comments.
An interesting aside is the number of XHTML documents I find with IE conditionals when some of the loudest proponents of XHTML claim you use XHTML because it makes it "cleaner" and "more strict." Oh, the irony . . . A hack is something you do to meet a condition when the rules set forth don't work. Like red tape over a broken tail light, it's a work around, You won't get a ticket, but it's still a hack. :-)
if ($drunken_friend==$break_tailight) {
$dough = cough_up('new taillight');
unless ($dough==$cost_of_repair) {
apply_red_tape($lowlife_friends);
}
return $ah_well_it_works;
}
Note to mods, it might be a good idea to split this off to it's own thread, it's long since drifted off topic, sorry