JavaScript
JavaScript was born in ten days. In the spring of 1995, Brendan Eich sat down at Netscape to build a scripting language for the web. His employer wanted something for everyday people, not just professional programmers. The goal, as Netscape put it, was a language to help nonprogrammers create dynamic, interactive websites. What emerged from those ten frantic days would eventually become the most widely used programming language on GitHub, running on 98.9% of all websites as of 2025. But the path from that rushed prototype to global ubiquity was anything but smooth. It ran through a bruising browser war, a decade of stagnation, a corporate trademark dispute that still isn't fully resolved, and a grassroots renaissance sparked by a single white paper. How did a language conceived as a marketing move end up holding the web together?
Netscape's browser, Navigator, was released in 1994 and quickly became the most-used browser in the world. The web it served was entirely static. Once a page loaded, nothing on it could change. Netscape wanted to fix that. Their first plan was to embed Sun Microsystems' Java language directly into Navigator. They also hired Eich to embed the Scheme language. Management eventually settled on a third path: Eich would write a brand-new language, one that looked like Java but was simpler and more accessible. When it first shipped as part of a Navigator beta in September 1995, it was called LiveScript. By December, for the official release, it had been renamed JavaScript. Eich himself later described the name as a marketing ploy by Netscape, trading on Java's popularity during the dot-com boom. That borrowed name created a confusion that persists to this day. Java was developed by James Gosling of Sun Microsystems, while JavaScript was Eich's creation at Netscape. The two share a C-like syntax and some naming conventions, but Java has static typing while JavaScript's typing is dynamic, Java loads from compiled bytecode while JavaScript loads as human-readable source code, and Java did not support functional programming until Java 8, while JavaScript supported it from the start, drawing influence from Scheme.
Microsoft debuted Internet Explorer in 1995, the same year as Navigator, and the rivalry between the two browsers shaped the early web for a decade. Rather than adopt JavaScript, Microsoft built its own compatible interpreter called JScript, releasing it in 1996 alongside initial CSS support and HTML extensions. The implementations diverged enough that developers couldn't reliably make a single site work well in both browsers. That friction produced the era of "best viewed in Netscape" and "best viewed in Internet Explorer" badges scattered across the web. Netscape moved to address the fragmentation in November 1996, submitting JavaScript to Ecma International as the basis for a shared standard. The first ECMAScript specification followed in June 1997. ECMAScript 2 arrived in June 1998, ECMAScript 3 in December 1999, and work on ECMAScript 4 began in 2000. Then the standardization effort stalled. By the early 2000s, Internet Explorer commanded 95% of the browser market. Microsoft stopped collaborating on the Ecma work, and ECMAScript 4 was shelved. JScript, not the standard, became the de facto rule for client-side scripting on the web.
In 2005, Jesse James Garrett released a white paper in which he coined the term Ajax. It described a set of techniques, with JavaScript at the backbone, that allowed web pages to load fresh data in the background without a full page reload. The effect was electric. Developers who had grown used to static, clunky pages suddenly saw a path to applications that felt alive. Open-source libraries multiplied around the idea: jQuery, Prototype, Dojo Toolkit, and MooTools all emerged from this period. Mozilla, the successor to Netscape, released Firefox in 2004, winning back significant market share from Internet Explorer and breaking its near-monopoly. Then in 2008, Google launched Chrome with the V8 JavaScript engine, which introduced just-in-time compilation and ran JavaScript noticeably faster than any competitor. The other browser makers had to overhaul their own engines to keep pace. In July 2008, representatives from the competing camps met in Oslo. By early 2009, they had agreed to merge their work into a single forward-looking specification. The result, ECMAScript 5, was released in December 2009. Ryan Dahl then released Node.js that same year, combining V8 with an event loop and I/O APIs to let JavaScript run as a full server-side language for the first time.
Node.js changed what JavaScript could be used for. By 2018, millions of developers were running Node, and npm had accumulated more modules than any other package manager in the world. The runtime itself processes messages from a queue one at a time, with each message fully handled before the next begins, a model described as "run to completion". That event loop makes it non-blocking: the language can process a mouse click while waiting for a database query to return, without freezing. Beyond Node, frameworks like Electron, Cordova, and React Native carried JavaScript into desktop and mobile applications. Adobe Acrobat uses JavaScript to support PDF scripting. GNOME Shell extensions are written in JavaScript. Some embedded systems run it via Node. Oracle once shipped Nashorn, a JavaScript interpreter, as part of their Java Development Kit, beginning with JDK version 8 and removing it in JDK 15, replacing it with GraalJS. Over 80% of websites also rely on a third-party JavaScript library or framework for their client-side work. jQuery is the most-used of these, with Angular, React, Vue, Bootstrap, Lodash, Modernizr, and Underscore among the other prominent options.
The word "JavaScript" is a trademark of Oracle Corporation in the United States. It was not always Oracle's. Sun Microsystems received the trademark on the 6th of May 1997, when the ECMAScript specification was still fresh. Oracle acquired Sun in 2009 and inherited the trademark along with it. For years, the situation drew little attention. Then in September 2024, Ryan Dahl, the creator of Node.js, circulated a letter calling on Oracle to free the JavaScript trademark. More than 14,000 people signed it, including Brendan Eich, the man who originally wrote the language nearly three decades earlier. The initiative has not yet resulted in Oracle releasing the trademark, leaving the most widely used language on GitHub technically owned by a corporation that plays no role in its day-to-day governance. That governance runs through Ecma International's TC39 technical committee, with related web APIs maintained by W3C and WHATWG. The ECMAScript specification itself is now maintained openly on GitHub, with annual snapshots replacing numbered editions and individual proposals tracked through a public process.
Running code from strangers on millions of machines every day creates obvious risks. Browsers contain that risk through two main restrictions: scripts run in a sandbox limited to web-related actions, and the same-origin policy prevents scripts from one site reaching data from another. Most JavaScript security failures are breaches of one of those two lines. Cross-site scripting, known as XSS, lets an attacker inject malicious code into a trusted website, such as an online banking page, which then runs with the victim's own privileges. A study of 133,000 websites found that 37% included at least one library with a known vulnerability. The median gap between the oldest library version a site was using and the newest available version was 1,177 days. In March 2016, a developer named Azer Koculu removed his repository from npm, breaking tens of thousands of programs that depended on his libraries. Hardware-level attacks have also used JavaScript as a vector. In 2015, researchers demonstrated a JavaScript-based proof-of-concept of a rowhammer attack. In 2017, an attack called AnC used JavaScript in the browser to bypass address space layout randomization. The 2018 paper announcing the Spectre attacks on Intel processors included a JavaScript implementation of the exploit.
Continue Browsing
Common questions
Who created JavaScript and when was it invented?
JavaScript was created by Brendan Eich in 1995 while he was working at Netscape. It first shipped as part of a Navigator beta in September 1995 under the name LiveScript, and was renamed JavaScript for its official release in December 1995.
What is the difference between JavaScript and Java?
JavaScript and Java are distinct languages that share a C-like syntax and some naming conventions but differ greatly in design. Java uses static typing and loads from compiled bytecode, while JavaScript uses dynamic typing and loads as human-readable source code. Java did not support functional programming until Java 8; JavaScript has supported it from the start.
Who owns the JavaScript trademark?
Oracle Corporation owns the JavaScript trademark in the United States. Sun Microsystems originally received the trademark on the 6th of May 1997, and Oracle inherited it when it acquired Sun in 2009. A 2024 letter signed by over 14,000 people, including Brendan Eich, called on Oracle to free the trademark.
What is ECMAScript and how does it relate to JavaScript?
ECMAScript is the official language specification that JavaScript conforms to. Netscape submitted JavaScript to Ecma International in November 1996 as the basis for a shared standard, and the first ECMAScript specification was released in June 1997. The specification is maintained by Ecma International's TC39 technical committee.
What is Node.js and why does it matter for JavaScript?
Node.js is a standalone runtime for JavaScript outside the browser, created by Ryan Dahl in 2009. It combines the V8 JavaScript engine with an event loop and I/O APIs. By 2018, it had been used by millions of developers, and npm, its package manager, had the most modules of any package manager in the world.
How widely used is JavaScript as of 2025?
As of 2025, JavaScript is the most widely used programming language on GitHub. It is used by 98.9% of websites for client-side behavior, and over 80% of websites use at least one third-party JavaScript library or framework.
All sources
109 references cited across the entry
- 3BookCoders at Work: Reflections on the Craft of ProgrammingPeter Seibel — Apress — September 16, 2009
- 5Brendan Eich: An Introduction to JavaScript, JSConf 201020 January 2013
- 6BookJavaScript BibleBrendan Eich — John Wiley & Sons — 1998
- 8JavaScript technologies overview - JavaScript MDN27 October 2025
- 9Octoverse 2025: A new developer joins GitHub every second as AI leads TypeScript to #1GitHub — October 28, 2025
- 12The Evolution of the Web BrowsersLarry Enzer — August 31, 2018
- 15MagazineJavaScript Runs the World—Maybe Even LiterallySheon Han — 4 March 2024
- 16Brendan Eich – CEO of BraveFin JS — June 17, 2016
- 18JavaScript, How Did We Get Here?Steve Champeon — April 6, 2001
- 19Microsoft Internet Explorer 3.0 Beta Now AvailableMicrosoft — May 29, 1996
- 20The Unwelcome Return of "Best Viewed with Internet Explorer"Harry McCracken — September 16, 2010
- 21NewsMozilla Firefox Internet Browser Market Share Gains to 7.4%Loren Baker — November 24, 2004
- 22NewsThe assault on software giant MicrosoftTim Weber — May 9, 2005
- 23Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and ChromeComputec Media AG — 3 July 2009
- 24Lifehacker Speed Tests: Safari 4, Chrome 2Kevin Purdy — June 11, 2009
- 26MagazineMozilla asks, 'Are we fast yet?'
- 30The secret history behind the success of npm and NodeGeorge Lawton — 19 July 2018
- 31State of the Union: npmPaul Brown — 13 January 2017
- 32JavaScript Standard Moves to Yearly Release Schedule; Here is What's New for ES16Mary Branscombe — 2016-05-04
- 33The TC39 ProcessEcma International
- 34ECMAScript proposalsTC39
- 36U.S. Trademark Serial No. 75026640United States Patent and Trademark Office — 1997-05-06
- 37Legal NoticesOracle Corporation
- 38NewsOracle to buy Sun in $7.4-bn deal21 April 2009
- 39NewsOracle urged again to give up JavaScript trademarkThomas Claburn — 17 September 2024
- 40NewsJavaScript community challenges Oracle's JavaScript trademarkPaul Krill — September 20, 2024
- 42Using jQuery with Bootstrap10 June 2019
- 43Vanilla JS2020-06-16
- 44Server-Side JavaScript GuideOracle Corporation — December 11, 1998
- 45Introducing JScript .NETAndrew Clinick — Microsoft — July 14, 2000
- 46Server-Side JavaScript, Back with a VengeanceDecember 17, 2009
- 47JavaScript for Acrobat2009-08-07
- 48Answering the question: "How do I develop an app for GNOME?"treitter — 2013-02-02
- 49Oracle Nashorn: A Next-Generation JavaScript Engine for the JVMJulien Ponge — Oracle Corporation — 2018-04-19
- 51GraalJSGraalVM
- 52Java InteroperabilityOracle
- 57BookJavaScript: The Definitive GuideDavid Flanagan — O'Reilly Media, Inc. — August 17, 2006
- 58JavaScript quirks in one image from the InternetMikhail Korolev — 2019-03-01
- 60WatGary Bernhardt — 2012
- 61JavaScript data types and data structuresFebruary 16, 2017
- 62Prototypal Inheritance in JavaScriptDouglas Crockford
- 64BookEffective JavaScriptDavid Herman — Addison-Wesley — 2013
- 65BookJavaScript NextRaju Ghandi — Apress Media — 2019
- 66BookEloquent JavaScriptMarijn Haverbeke — No Starch Press
- 67Understanding "Prototypes" in JavaScriptYehuda Katz — 12 August 2011
- 68BookEffective JavaScriptDavid Herman — Addison-Wesley — 2013
- 70Properties of the Function ObjectEs5.github.com
- 74A fresh look at JavaScript MixinsAngus Croll — May 31, 2011
- 75E4X – Archive of obsolete contentMozilla Foundation — February 14, 2014
- 76var – JavaScriptThe Mozilla Developer Network
- 77letMozilla
- 78constMozilla
- 83Right-click "protection"? Forget about itThor Kottelin — 17 June 2008
- 84Why You Should Never Put Sensitive Data in Your JavaScriptJan Rehorik — ServiceObjects — 29 November 2016
- 85Northeastern UniversityTobias Lauinger et al. — December 21, 2016
- 86NewsHow one programmer broke the internet by deleting a tiny piece of codeKeith Collins — March 27, 2016
- 89Buffer-overflow bug in IEPaul Festa — August 19, 1998
- 93Protected Mode in Vista IE7 – IEBlogFebruary 9, 2006
- 96Part 5: Enhanced Browsing SecurityStarr Andersen — 2004-08-09
- 98Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScriptDaniel Gruss et al. — July 24, 2015
- 99NewsRowhammer.js Is the Most Ingenious Hack I've Ever SeenAlix Jean-Pharuns — Vice — July 30, 2015
- 100DRAM 'Bitflipping' exploit for attacking PCs: Just add JavaScriptDan Goodin — August 4, 2015
- 101Rowhammer security exploit: Why a new security attack is truly terrifyingDavid Auerbach — July 28, 2015
- 105Benchmark.js
- 108List of languages that compile to JSJeremy Ashkenas
- 110frequently asked questionsasm.js