November 8th, 2004

  • evan


From someone at work (I asked for his permission to quote him):
In the beginning, Netscape wrote javascript. (Actually, they wrote "Mocha," but Sun was so afraid that Mocha would compete with Java that they threatened to pull Netscape's Java license unless Mocha was renamed JavaScript.) I think scripting came out in Netscape Navigator 2.0.

Microsoft, at that time playing catchup, had to reimplement javascript. They did a cleanroom implementation: one team studied the Netscape browser's behaviour and wrote up a spec, then threw it over the wall to another team, who implemented the spec. It came out in some early
version of IE. There were some errors in the spec.

Later, the standardization effort caught up to javascript; and the only organization they could find who wanted it was ECMA. (IETF said they don't do languages, and W3C didn't want something that was threatening to compete with CSS, and also they were muttering something about writing their own scripting language, and of course they never really liked the Mosaic or Netscape teams in the first place. ECMA was trying to get some visibility, and thought this "web" thing was cool.)

First step to standardization, of course, was to write down the spec for the language. Netscape didn't actually have one, outside the code itself (except perhaps whatever was written on Brendan's whiteboard) ..but hey, Microsoft happened to have that cleanroom document.

They submitted their document, and through contributing a couple orders of magnitude more manpower to the process than Netscape could afford, pretty much pushed it through. Errors and all.

And voila -- some of the Netscape browser's behaviour is now in violation of the spec for the language that they themselves created.