dark mode light mode Search Menu
Search

JavaScript

Dmitry Baranovskiy on Flickr

As a programming language, JavaScript has expanded from use in the web browser where it is used to fetch and display data in real time and generally makes the web browsing experience more like traditional software. Today Javascript also is used heavily on web servers as well as standalone isolated web browser instances.

What Makes JavaScript Special?

JavaScript is unique because it solved a problem with the early internet — the lack of interactivity between a web browser and a remote server — at a moment in history when open standards for the internet were under assault by traditional proprietary interests, as represented mostly by Microsoft. While this tension exists today, between open standards and the interests of business to use proprietary standards, in the mid to late 1990s the outcome was unclear. Microsoft openly wanted to control some or all internet standards. Other businesses and the technology community wanted standards that reflected the interests of everyone who used the internet, commercial and non-commercial.

From Microsoft's point of view, JavaScript was seen as an extension of the Java language which competed with C++ from Microsoft. Separating these kinds of commercial interests from the public interest in open standards with the ability to create software for low or no cost is not an easy task, then or now.

JavaScript was successful enough that Microsoft created its own version, named JScript, to avoid trademark infringement and use of JavaScript. These two standards, JavaScript and JScript, were consolidated into a single standard with the unlovely name ECMA Script. Brendan Eich, the creator of JavaScript, said, "ECMAScript was always an unwanted trade name that sounds like a skin disease."

JavaScript flourished in the late 1990s and early 2000s with the adoption of AJAX, asynchronous JavaScript and XML. Coders realized they could use JavaScript in a programmatic way to send and receive structured data from the web browser to remote servers, turning the passive reading experience of the web into full-blown software applications. Jesse James Garrett was the first to coin the phrase AJAX and push the idea. Using JavaScript to turn the web browser into many different software applications is a natural fit for the language. Every time you click a Like button or submit a form with a web browser, chances are JavaScript code is involved.

Brendan Eich originally created JavaScript, first called Mocha then LiveScript before its current name, in 1995 while at Netscape. Sun Microsystems and Netscape announced JavaScript in December 1995 and Netscape 2.0 released in March 1996 was the first web browser to include JavaScript. The language is interpreted in the web browser or on the server. Script code included in web pages and on servers are interpreted at run time.

JavaScript has dynamic typing and first class functions where functions can be passed as arguments to other functions, returned as values from other functions, assigned to variables, or stored in data structures. JavaScript also includes many names and naming conventions from Java and its syntax is influenced by the C programming language. It supports object-oriented, imperative, and functional programming styles. Despite its many similarities to other languages, JavaScript is a scripting language, not a full-blown language like Java.

Today JavaScript and related software is maintained by the Mozilla Foundation, a group originally founded by Netscape but spun off into a foundation in 2003 to broaden funding and ensure future development of Mozilla projects, including JavaScript, the Firefox web browser, and other software projects.

How is JavaScript Used?

The language is amazing in the many ways it has been adapted. The most obvious implementation is in a web browser where parts of a web page are modified or updated with JavaScript. However, and mostly because of standards incompatibility across different web browsers, open source libraries like jQuery have been created to ensure code written once works on all web browsers. These libraries also make coding faster with a small trade-off in load times for the library files.

The language also is embedded in different software packages, for example, Acrobat PDF and Open Office where JavaScript is used for scripting in documents and presentations. The Unity game engine uses modified JavaScript to provide coders the ability to script games. And JSON (JavaScript Object Notation), a general purpose format used to transfer data, is a subset of JavaScript's syntax.

Another area of innovation around JavaScript has been with web browser engines that interpret JavaScript. Web browser makers have competed to interpret JavaScript code faster, as well as isolate individual instances of JavaScript to ensure code from one page does not impact activity on another page in a tab in the same browser.

Node.js also represents another extension of JavaScript, as a server with streamlined ability to send and receive data from web browsers. Originally, Node.js was an idea (a fast, streamlined way to synchronize data between web browsers and remote servers) in search of a language. When Google's V8 JavaScript Engine was released, the Node.js project switched to JavaScript to leverage the capabilities of the language.

Learn More

JavaScript

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
https://developer.mozilla.org/en-US/docs/Web/JavaScript/About_JavaScript
https://developer.mozilla.org/en-US/docs/Web/JavaScript
http://en.wikipedia.org/wiki/JavaScript
http://en.wikipedia.org/wiki/ECMA_Script

Object Oriented JavaScript Reference Card

http://refcardz.dzone.com/refcardz/object-oriented-javascript

JavaScript Turns 18

resin.io/happy-18th-birthday-javascript/

Related Posts