Main Page

JavaScript 1.1

powerful enough to replace macros, but still similar enough to C (and C++) that developers could learn
it quickly. This scripting language was packaged in a shareware product called CEnvi, which first
exposed the power of such languages to developers. Nombas eventually changed the name Cmm to
ScriptEase because the latter sounded “too negative” and the letter C “frightened people” (
). ScriptEase is now the driving force behind Nombas
products. When the popularity of Netscape Navigator started peaking, Nombas developed a version of
CEnvi that could be embedded into Web pages. These early experiments were called
Espresso Pages
, and
they represented the first client-side scripting language used on the World Wide Web. Little did Nombas
know that its ideas would become an important foundation for the Internet.
As Web surfing gained popularity, a gradual demand for client-side scripting languages developed. At
the time, most Internet users were connecting over a 28.8 kbps modem even though Web pages were
growing in size and complexity. Adding to users’ pain was the large number of round-trips to the server
required for simple form validation. Imagine filling out a form, clicking the Submit button, waiting 30
seconds for processing, and then being met with a message telling you that you forgot to complete a
required field. Netscape, at that time on the cutting edge of technological innovation, began seriously
considering the development of a client-side scripting language to handle simple processing.
Brendan Eich, who worked for Netscape at the time, began developing a scripting language called
LiveScript for the upcoming release of Netscape Navigator 2.0 in 1995, with the intention of using it both
in the browser and on the server (where it was to be called LiveWire). Netscape entered into a develop-
ment alliance with Sun Microsystems to complete the implementation of LiveScript in time for release.
Just before Netscape Navigator 2.0 was officially released, Netscape changed the name to JavaScript in
order to capitalize on Java as a new Internet buzzword. Netscape’s gamble paid off and JavaScript
became a must-have from that point on.
Because JavaScript 1.0 was such a hit, Netscape released version 1.1 in Netscape Navigator 3.0. Right
around that time, Microsoft decided to throw its hat into the ring and released Internet Explorer 3.0 with
a JavaScript-clone called JScript (so-called in order to avoid any possible licensing issues with Netscape).
This major step for Microsoft into the realm of Web browsers is now a date that lives in infamy for
Netscape, but it also represented a major step in the development of JavaScript as a language.
After Microsoft threw its hat into the ring, three different JavaScript versions were floating around:
JavaScript in Netscape Navigator, JScript in Internet Explorer, and CEnvi in ScriptEase. Unlike C and
many other programming languages, JavaScript had no standards governing its syntax or features, and
the three different versions only highlighted this problem. With industry fears mounting, it was decided
that the language must be standardized.
In 1997, JavaScript 1.1 was submitted to the European Computer Manufacturers Association (ECMA) as a
proposal. Technical Committee #39 (TC39) was assigned to “standardize the syntax and semantics of a gen-
eral purpose, cross-platform, vendor-neutral scripting language” (
). Made up of programmers from Netscape, Sun, Microsoft, Borland, and other
companies with interest in the future of scripting, TC39 met for months to hammer out ECMA-262, a stan-
dard defining a new scripting language named ECMAScript.
The following year, the International Organization for Standardization and International Electrotechnical
Commission (ISO/IEC) also adopted ECMAScript as a standard (ISO/IEC-16262). Since that time, Web
browsers have tried, with varying degrees of success and failure, to use ECMAScript as a basis for their
JavaScript implementations.
Chapter 1
04_579088 ch01.qxd 3/28/05 11:34 AM Page 2

JavaScript EditorFree JavaScript Editor     Ajax Editor