The History of JavaScript
- Previous Page Advanced JavaScript Tutorial
- Next Page JavaScript Implementation
To fully utilize the potential of JavaScript, it is important to understand its essence, history, and limitations.
This section explains the origin of JavaScript and client-side scripting.
Nombas and ScriptEase
In around 1992, a company called Nombas developed an embedded scripting language called C-minus-minus (Cmm, abbreviated as Cmm) for embedded systems. The philosophy behind Cmm is simple: a scripting language that is powerful enough to replace macro operations (macros) while maintaining enough similarity to C (and C++) so that developers can quickly learn it. This scripting language was bundled with a shared software called CEnvi, which first demonstrated the power of this language to developers.
Nombas eventually changed the name of Cmm to ScriptEase because the latter part (mm) sounded too negative, and the letter C was 'frightening'.
Now ScriptEase has become the main driving force behind Nombas products.
Netscape Invented JavaScript
When Netscape Navigator emerged, Nombas developed a version of CEnvi that could be embedded in web pages. These early experiments were called Espresso Page (like a cup of strong coffee), representing the first client-side language used on the World Wide Web. Nombas had no idea that its concept would become an important cornerstone of the World Wide Web.
As surfing the internet became increasingly popular, the demand for client-side scripting also grew. At this time, most internet users were still connected to the network via 28.8 kbit/s modems, even though web pages were becoming larger and more complex. What exacerbated users' suffering even more was that multiple interactions with the server were required just for simple form validation. Imagine filling out a form, clicking the submit button, waiting for 30 seconds of processing, only to see a message telling you that you forgot to fill in a required field.
Netscape, which was at the forefront of technological innovation at the time, began to seriously consider developing a client-side scripting language to solve simple processing problems.
Brendan Eich, who was working at Netscape at the time, began to develop a scripting language called LiveScript for the upcoming Netscape Navigator 2.0 in 1995. The purpose was to use it on the browser and server ends (originally to be called LiveWire). Netscape and Sun completed the LiveScript implementation in a timely manner.
Just before Netscape Navigator 2.0 was to be officially released, Netscape renamed it JavaScript with the aim of utilizing the trendy Internet term 'Java'. Netscape's bet eventually paid off, and JavaScript became an essential component of the Internet.
Three Powers Stand Together
Because JavaScript 1.0 was so successful, Netscape released version 1.1 in Netscape Navigator 3.0. Coincidentally, at that time, Microsoft decided to enter the browser market, releasing IE 3.0 with a clone of JavaScript called JScript (named to avoid potential licensing disputes with Netscape). This significant step by Microsoft into the web browser field, although it tarnished its reputation, also became an important step in the development of the JavaScript language.
After Microsoft entered the scene, there were three different versions of JavaScript coexisting: JavaScript in Netscape Navigator 3.0, JScript in IE, and ScriptEase in CEnvi. Unlike C and other programming languages, JavaScript does not have a standard to unify its syntax or features, and these three different versions highlight this issue. As industry concerns increased, the standardization of this language became an imperative.
Standardization
In 1997, JavaScript 1.1 was submitted as a draft to the European Computer Manufacturers Association (ECMA). The Technical Committee 39 (TC39) was tasked with 'standardizing the syntax and semantics of a general, cross-platform, and vendor-neutral scripting language' (http://www.ecma-international.org/memento/TC39.htm). The TC39, composed of programmers from companies interested in scripting programming such as Netscape, Sun, Microsoft, Borland, and others, refined ECMA-262, which defines a new scripting language named ECMAScript.
In the following years, the International Organization for Standardization and the International Electrotechnical Commission (ISO/IEC) also adopted ECMAScript as a standard (ISO/IEC-16262). From then on, web browsers began to strive (with varying degrees of success and failure) to implement ECMAScript as the foundation of JavaScript.
- Previous Page Advanced JavaScript Tutorial
- Next Page JavaScript Implementation