Fotios said:
I will not deal with the rest of the stuff that you mention
(to which I disagree) or the fact that you seem to have
somehow gotten emotionally involved (sorry if I caused this).
Given your demonstrated shortcomings in extracting literal meaning from
written English I think you would be best advised to concentrate on that
and abandon efforts to interpret emotional overtones until you have that
under your belt. As I recall my emotional response to your last post was
nothing more than slight amusment (at the fact that Steve's predicted
outcome had come to pass).
I will not even try to get into a theological discussion
with you (which I don't see how it is not OT - you being
so sensitive about OT stuff).
It would be OT, but should you consider yourself properly equipped for a
theological discussion if you have not read the Bible?
I will even hold my ironic remarks to your admission that you
are an atheist (I don't want you to have a stroke or anything).
I see no irony (or anything unusual) in an atheist being able to
recognise hypocrisy.
Imagine this dear Richard: Let's say I am an open source
proponent who is sick and tired of Microsoft's marketing
tricks and the way they undermine public standards. So,
I build this excellent open source browser which supports
all W3C DOM objects (in a very proper way) but I also
choose to attack Microsoft in my own way by faking the
proprietary Microsoft objects or methods/properties; that
is they exist but they give erroneous values (like: "Billy
is a custard face" instead of some other string that is
expected). Why would I do that? But because this way I
would break scripts that try to support these objects.
This would be an angry open sourcer's way of fighting
back and saying out loud "Scripters! Do not script for
Microsoft's proprietary objects/methods/properties that
antagonize and undermine W3C standards". Extreme in a way
but I think conceivable - in my opinion, not more extreme
that having Shakespeare quotes as your agent string.
Mozilla already says "Scripters! Do not script for Microsoft's
proprietary DOM" by the simple measure of not implementing very much of
it (though you might break innerHTML just to be comprehensive).
The browser you are describing is not significantly different from the
W3C DOM compliant browsers that fake objects from the Microsoft DOM in
order to avoid being ostracised by scripts that attempt browser
detection by object inference. And feature detecting as a technique
already copes quite happily with those browsers. To the best of my
recollection, as you describe it this browser is going to happily
execute _every_ feature detecting script I have ever written because I
have always favoured using W3C DOM methods over proprietary ones, only
falling back to a proprietary methods if a W3C DOM approach is not
available/functional on the browser.
To significantly impact on the effectiveness of feature detecting as a
technique you would have to pervert the _entire_ browser DOM well beyond
the point at which no existing browser detecting based script could work
on it either. And even then the chances are still good that a feature
detecting script would recognise its inability to execute and be in a
position to degrade cleanly under control, while the browser detection
based scripts (assuming that they were allowed the opportunity to run on
this unrecognised browser) would just error until they failed entirely.
The result would be a browser that could _only_ execute scripts that
were specifically written for its perverse DOM. If making scripting the
browser require specialist knowledge was the goal of the browser authors
then it would be easiest achieved by just switching to a non-standard
scripting language, and if the goal was a browser that would not
successfully execute anyone's scripts then that would be easiest
achieved by just stripping scripting out entirely.
That leaves you as the only person motivated to go down the totally
perverse DOM route. And yes it may demonstrate that feature detecting
scripts cannot cope 100% with anything at all. On the way you have also
killed off all browser detecting scripts, so all that such a browser
would server to demonstrate is that while feature detecting cannot be
100% it is still significantly more robust than browser detecting. I
don't see that as contributing in any way towards an argument in favour
of browser detecting, quite the reverse.
Richard.