# Written in 10 Days, on Nearly Every Website: Why JavaScript Won

> Its first version took ten days and shipped with bugs, yet it runs on 98.9% of sites W3Techs tracks. Here is why nobody could drop it.

*2026-11-02T13:50:40Z*

How can a language whose first version took ten days run on nearly every website? [W3Techs](https://w3techs.com/technologies/details/cp-javascript) puts JavaScript on 98.9% of the websites it tracks as of November 2026. The answer isn't that JavaScript turned out to be the best language. Once the web depended on it, nobody could take it out.

## In 60 seconds (the video)

1. **A language written in ten days** now runs on nearly every website. How?
2. **1995.** Netscape wanted a small language in the browser, and Brendan Eich wrote the first version in time for a demo.
3. **The name came from a deal** with Sun, the owner of Java.
4. **Java and JavaScript are separate languages.** Only the name makes them sound like family.
5. **It came out with plenty of bugs**, so it should have disappeared.
6. **Microsoft wasn't happy about it**, but had to put it in its own browser so websites would work there.
7. **From then on**, any browser that dropped it would break the sites.
8. **It didn't win as the best language.** It won because nobody could live without it.

## What the 98.9% means

The W3Techs sentence is: "JavaScript is used as client-side programming language by 98.9% of all the websites."

Three things to keep in mind:

- The figure is for November 2026, and W3Techs updates it, so always quote it with the month.
- "Client-side" means code that runs in the visitor's browser. Server code doesn't enter into this number.
- "All the websites" means the [W3Techs sample](https://w3techs.com/technologies): "well over 20 million sites" that have meaningful content, with subdomains counted as part of their main site. It's a very large sample, not a census of the whole web. That is why we say nearly every website and not every website.

## Ten days in May 1995

The main source for this story is [*JavaScript: The First 20 Years*](https://wirfs-brock.com/allen/jshopl.pdf), a paper by Allen Wirfs-Brock and Brendan Eich himself. Page numbers below refer to its PDF.

Eich joined Netscape on April 3, 1995, recruited with the bait of "come and do Scheme in the browser" (p. 7). He arrived to find that plan overtaken. Sun's Java was rising, Netscape had agreed to put Java in its browser, and senior managers at both companies decided the only viable path was a "little language" to complement Java (p. 7).

Java alone wasn't enough, because in spring 1995 it wasn't a suitable language for beginners. You had to wrap your code in a class and declare types for everything (p. 7). Marc Andreessen wanted something so easy that anyone could write a few lines directly in an HTML page (p. 8). And management added one condition. In [Eich's words](https://brendaneich.com/2008/04/popularity/): "The diktat from upper engineering management was that the language must 'look like Java'."

The code name was Mocha. Then came the sentence behind the whole legend: Eich "prototyped the first Mocha implementation in ten contiguous days in May, 1995. This work was rushed to meet a feasibility demonstration deadline" (p. 8). There's no record of the exact dates; Eich believes it was May 6 to 15 (p. 8). [On his own blog](https://brendaneich.com/2011/06/new-javascript-engine-module-owner/) he puts it shortly: "As you may know, I wrote JavaScript in ten days."

Notice the word *prototype*. Ten days produced a working first version, not the language you write today. At the end of the sprint it was demonstrated to Netscape's full engineering staff and it was a success (p. 9), and the real work on shipping it started there.

## From Mocha to JavaScript

The language had three names in under a year:

| Name | When | Where |
|---|---|---|
| Mocha | May 1995 | Internal code name, proposed by Andreessen (p. 8) |
| LiveScript | September 1995 | First public exposure, in the Navigator 2.0 beta (p. 10) |
| JavaScript | December 4, 1995 | Joint press release from Netscape and Sun (p. 9, p. 145) |

The paper is direct about why: "LiveScript" was replaced by "JavaScript" "as part of its strategic partnership with Sun", and Sun trademarked the name and licensed it to Netscape (p. 38). According to Eich, Andreessen had hoped for that rename from the start (p. 8).

The release called JavaScript a "complement to Java" and listed 28 companies endorsing it (p. 145).

## Java and JavaScript are separate languages

This confusion is old enough that the paper raises it in its opening pages: "Because of its name, JavaScript is often confused with the Java programming language" (p. 3). The companies wanted a strong brand link, "even though their technical designs were only superficially similar", and the name became "a continuing source of confusion" (p. 9).

The likeness in the syntax is real, because that was the requirement. The relationship stops around there.

## It shipped with bugs

JavaScript 1.0 reached production with Navigator 2.0 in March 1996 (p. 10). Features had to freeze in August 1995, so the feature set was "essentially a triage of what was working or near working" (p. 10). The result "exhibited various problematic bugs and edge case behaviors" (p. 10).

Eich said so himself in an interview shortly before release: "because JavaScript was too much of a one-man show, [Netscape] 2.0 will contain numerous annoying little bugs" (p. 11).

JavaScript 1.1, in Navigator 3.0 in August 1996, "still consisted primarily of code from the 10-day May 1995 prototype" (p. 27). Only after that did Eich rewrite the core of the engine, working from home for two weeks (p. 27).

A buggy language by a one-man team, in one company's browser. By ordinary logic, it should have been replaced.

## Why Microsoft had to adopt it

Inside Microsoft, the plan was different. Its developer division wanted Visual Basic for scripting and Java for applications (p. 26). But the Internet Explorer team wanted IE 3 to be compatible with Netscape 3, "and that required including JavaScript support". The paper's summary: "Microsoft was not happy about having to support JavaScript but it was too late to ignore it" (p. 26).

The compromise was to support both JavaScript and Visual Basic for scripting. Microsoft's version, JScript, shipped in 1996 as part of IE 3 (p. 26).

The interesting part is how they tested it. The IE team understood that working with sites built for Netscape was essential to IE's adoption. Shon Katzenberger and others ran development versions of IE 3 against thousands of websites that used JavaScript and compared the results with Netscape 2 and 3. Whenever they found a difference, Katzenberger had to reverse engineer what Netscape was doing (p. 26–27). The paper calls it "Microsoft's reverse-engineered implementation" (p. 3).

That's the turning point. JavaScript stopped being one company's feature and became what websites expected from any browser.

## "Don't break the Web!"

Eich later described the trap browsers were in (p. 51):

- "Breaking-changes (even bug fixes) can drive away users."
- "New browsers must conform to what is already there."

The first rule is often shortened to the slogan "Don't break the Web!" (p. 51). The reason is practical. Many pages are no longer maintained by the people who wrote them, but they are still used, and the browser reads their source code on every visit. Break something in one browser and users may move to another. Break it in all browsers and parts of the web stay broken for good (p. 51).

Even its creator lost this fight. Look at `==`:

```js
1 == "1"    // true: the values are converted before comparing
0 == ""     // true
```

Eich changed `==` in JavaScript 1.2 to remove these conversions, and hoped to bring that into the first standard. Katzenberger argued it was too late, given the large number of existing pages it would break, and Eich reverted to the original behavior in JavaScript 1.3 (p. 38). The language instead gained a separate operator for strict equality, `===` (p. 148):

```js
1 === "1"   // false
```

So the fix was added alongside the old behavior, and the old behavior stayed.

The paper's rule is about changing behavior, not about deleting the whole language. Our conclusion is the obvious next step: if fixing `==` was too risky, a browser that removed JavaScript would break far more. It didn't win a contest. It became impossible to remove.

## The language kept changing

"Ten days and it hasn't changed" is false. The first official standard came in 1997, under the name ECMAScript, and two more revised editions followed by the end of 1999 (p. 3). The name is a story of its own: Sun would not license "JavaScript" to the standards body, Netscape would not formally transfer "LiveScript", and the placeholder name stuck (p. 39).

Today JavaScript also runs outside the browser. [Node.js](https://nodejs.org/en/about) describes itself as "an asynchronous event-driven JavaScript runtime", designed to build scalable network applications.

## How popular is it now?

It depends on what you measure, and well-known sources give different pictures:

| Source | What it says about JavaScript |
|---|---|
| [W3Techs, November 2026](https://w3techs.com/technologies/details/cp-javascript) | 98.9% of tracked websites, client-side |
| [Stack Overflow Developer Survey 2026](https://survey.stackoverflow.co/2026/technology) | 62.0% of all respondents, top of most used languages for the 12th year in a row |
| [TIOBE Index, October 2026](https://www.tiobe.com/tiobe-index/) | #6, rating 2.77% |

None of these is wrong. The first counts websites, the second asks developers, and the third is a separate popularity indicator. Don't quote one of them without its source and date.

## Learn it if

- You want to build a website or web app that opens in any browser. In the browser, this is the language W3Techs finds on 98.9% of tracked sites.
- You want one language on both sides. With Node.js, the same language you use in the browser can run your server code too.

## FAQ

### Was JavaScript really written in ten days?
The first prototype was. Brendan Eich built it in ten contiguous days in May 1995. The language then kept changing, and it still does.

### Are Java and JavaScript the same language?
No. They are separate languages. JavaScript was made to look like Java, but the paper by its creators calls their technical designs only superficially similar.

### Does every website use JavaScript?
Not every one. W3Techs reports 98.9% in November 2026, within its own sample of well over 20 million sites.

## Sources

- [Allen Wirfs-Brock and Brendan Eich, *JavaScript: The First 20 Years*](https://wirfs-brock.com/allen/jshopl.pdf): the story of Mocha, the naming, the bugs, Microsoft, "Don't break the Web!", `==` and the standard. Pages cited in the text; the December 4, 1995 press release is reproduced on p. 145.
- [Brendan Eich, *New JavaScript engine module owner*, June 21, 2011](https://brendaneich.com/2011/06/new-javascript-engine-module-owner/): "I wrote JavaScript in ten days."
- [Brendan Eich, *Popularity*, April 3, 2008](https://brendaneich.com/2008/04/popularity/): the "look like Java" requirement.
- [W3Techs, JavaScript usage, November 2026](https://w3techs.com/technologies/details/cp-javascript): the 98.9% figure.
- [W3Techs technology overview](https://w3techs.com/technologies): what the sample includes.
- [Stack Overflow Developer Survey 2026](https://survey.stackoverflow.co/2026/technology): 62.0% and the 12-year streak.
- [TIOBE Index, October 2026](https://www.tiobe.com/tiobe-index/): #6, 2.77%.
- [About Node.js](https://nodejs.org/en/about): how Node.js describes itself.
- Brendan Eich portrait in the video: Darcy Padilla, [CC BY-SA 3.0](https://commons.wikimedia.org/wiki/File:Brendan_Eich_Mozilla_Foundation_official_photo.jpg).

## Next steps

- [582,000 AI Projects, One Slow Language: Why Python Won](https://fadymondy.com/en/blog/why-slow-python-won-ai)
- [Top Programming Languages in 2026: Rankings and How to Choose](https://fadymondy.com/en/blog/top-programming-languages)
- [What Is Null in Programming?](https://fadymondy.com/en/blog/what-is-null)

---

Source: https://fadymondy.com/en/blog/javascript-history-why-it-won
