JavaScript (JS) is a dynamic computer programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate a synchronously, and alter the document content that is displayed. It is also used in server-side network programming with run time environments such as Node.js, game development and the creation of desktop and mobile applications.
JavaScript is classified as a prototype-based scripting language with dynamic typing and first-class functions. This mix of features makes it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles.
Despite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by Self and Scheme programming languages.
JavaScript is also used in environments that aren't web-based, such as PDF documents, site-specific browsers, and desktop widgets. Newer and faster JavaScript virtual machines (VMs) and platforms built upon them have also increased the popularity of JavaScript for server-side web applications. On the client side, JavaScript has been traditionally implemented as an interpreted language, but more recent browsers perform just-in-time compilation.
JavaScript has been standardized in the ECMAScript language specification.
History.
Beginnings At Netscape.
JavaScript was originally developed by Brendan Eich, while working for Netscape Communications Corporation. While competing with Microsoft for user adoption of web technologies and platforms, Netscape considered their client-server offering a distributed OS with a portable version of Sun Micro systems' Java providing an environment in which applets could be run. Because Java was a competitor of C++ and aimed at professional programmers, Netscape also wanted a lightweight interpreted language that would complement Java by appealing to nonprofessional programmers, like Microsoft's Visual Basic (see JavaScript and Java). Although it was developed under the name Mocha, the language was officially called LiveScript when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed JavaScript when it was deployed in the Netscape browser version 2.0B3. The change of name from LiveScript to JavaScript roughly coincided with Netscape adding support for Java technology in its Netscape Navigator web browser. The final choice of name caused confusion, giving the impression that the language was a spin-off of the Java programming language, and the choice has been characterized as a marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new web programming language.
There is a common misconception that the JavaScript language was influenced by C-- (pronounced "See-minus-minus"), an earlier web page scripting language developed by Nombas. Brendan Eich, however, had never heard of C-- before he created Live Script. Nombas did pitch their embedded web page scripting to Netscape, though web page scripting was not a new concept, as shown by Viola WWW. Nombas later switched to offering JavaScript instead of C-- in their Script Ease product and was part of the TC39 group that standardized ECMAScript.
Server-Side JavaScript.
Netscape introduced an implementation of the language for server-side scripting with Netscape Enterprise Server in December, 1994, soon after releasing JavaScript for browsers. Since the mid-2000s, there has been a resurgence of server-side JavaScript implementations, such as Node.js
Adoption By Microsoft.
JavaScript quickly gained widespread adoption as a client-side scripting language for web pages. Microsoft introduced JavaScript support in its own web browser, Internet Explorer, in version 3.0, released in August 1996. Microsoft's web server, Internet Information Server, introduced support for server-side scripting in JavaScript with the release of version 3.0, also in 1996. Microsoft started to promote webpage scripting using the umbrella term Dynamic HTML.
Microsoft's JavaScript implementation was later renamed JScript to avoid trademark issues. JScript added new date methods to fix the Y2K-problematic methods in JavaScript, which were based on Java's
java.util.Date
class. Standardization.
In November 1996, Netscape announced that it had submitted JavaScript to Ecma International for consideration as an industry standard, and subsequent work resulted in the standardized version named ECMAScript. In June 1997, Ecma International published the first edition of the ECMA-262 specification. In June 1998, some modifications were made to adapt it to the ISO/IEC-16262 standard, and the second edition was released. The third edition of ECMA-262 was published on December 1999. Development of the fourth edition of the ECMAScript standard was never completed. The fifth edition was released in December 2009. The current edition of the ECMAScript standard is 5.1, released in June 2011.
Later developments.
JavaScript has become one of the most popular programming languages on the web. Initially, however, many professional programmers denigrated the language because its target audience consisted of web authors and other such "amateurs", among other reasons. The advent of Ajax returned JavaScript to the spotlight and brought more professional programming attention. The result was a proliferation of comprehensive frameworks and libraries, improved JavaScript programming practices, and increased usage of JavaScript outside web browsers, as seen by the proliferation of server-side JavaScript platforms.
In January 2009, the Common JS project was founded with the goal of specifying a common standard library mainly for JavaScript development outside the browser.
Trademark.
"JavaScript" is a trademark of Oracle Corporation. It is used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation.