Proposed change to typeof
mjs at apple.com
Wed Nov 5 19:14:17 PST 2008
On Nov 5, 2008, at 5:40 PM, David-Sarah Hopwood wrote:
> Brendan Eich wrote:
>> On Nov 5, 2008, at 1:42 PM, David-Sarah Hopwood wrote:
>>> Of course not. In this case we were talking about a case in which IE
>>> and Opera do not implement an extension, and follow the existing
>>> more closely in their implementations of 'typeof'.
>> Yes, I know, but the particular case involving an extension in two
>> browsers out of four does not prove the lack of web-breaking.
> Why not? If a particular site already breaks on IE and Opera, why
> we be overly concerned if it also breaks on a future version of
Sites often code dual code paths, IE and non-IE. Often the non-IE path
is tested only in Firefox, or if we are lucky, in Safari too. Thus, it
is entirely plausible for an extension that is in Safari and Firefox
but not IE or Opera to actually matter for Web compatibility. In the
case of this particular extension, that seems relatively unlikely, but
I wouldn't bet my market share on it without doing significant testing.
More generally, it is impossible to have good judgment about what kind
of changes could be Web-breaking without having significant long-term
exposure to the bug database of a major browser engine. Since there
are two that are open source with public bug databases, anyone who is
willing and able to invest the time can gain such experience. Likely
what you would learn is that almost anything a Web developer *could*
do, no matter how seemingly stupid, is inevitably done by some site
> When developers write JS that isn't portable between browsers
> because it
> ignores standards, there's no reason why they should have any
> that it will be portable to future versions of the same browser,
When sites break, users blame the browser, even if it is in some
abstract sense the site's fault. Typically users react not by
complaining to the site for using unportable code, but by complaining
to the browser vendor or switching browsers. This is even more the
case when a site that worked in an earlier version of the browser
fails in a later version.
Like it or not, these are the dynamics of the browser market.
ES3.1 is premised on accepting these dynamics, being originally
conceived as "ES3 + reality".
More information about the Es-discuss