The Ten-Day Miracle
To understand the near-death experience, you have to understand the birth. In 1995, working at Netscape, Brendan Eich was tasked with creating a simple, lightweight scripting language for the Navigator browser. The mandate was clear: it needed to be done
fast, before a looming deadline. In just ten days, he famously hammered out the first version of JavaScript (then called Mocha, later LiveScript). It wasn't perfect, but it was dynamic, flexible, and approachable—the 'glue language' for web designers and amateur programmers, not the high-ceremony Java intended for serious developers. This pragmatic, 'get it done' ethos was baked into JavaScript's DNA. It was a tool designed for the messy, fast-moving reality of the web, and that philosophy would become the very thing worth fighting for.
The Looming Civil War
By the mid-2000s, JavaScript was everywhere, but it was also a mess. Browser inconsistencies were rampant, and the official standard, known as ECMAScript, was moving at a glacial pace. The committee in charge, TC39, became a battleground for competing corporate interests. On one side were companies like Adobe (with its Flash empire) and Microsoft, who pushed for a massive, radical overhaul called ECMAScript 4 (ES4). ES4 was incredibly ambitious. It aimed to add dozens of complex, 'enterprise-grade' features like classes, interfaces, and static typing, effectively turning JavaScript into a completely different, more rigid language—something much closer to Java or C#. They saw this as the necessary next step to make JavaScript 'serious.' But not everyone agreed. In fact, for a powerful minority, this vision was a nightmare.
A Line in the Sand
Brendan Eich, now Chief Technology Officer at Mozilla, saw the ES4 proposal as a betrayal of everything that made JavaScript successful. Along with key allies like Douglas Crockford at Yahoo (the influential author of 'JavaScript: The Good Parts'), he argued that ES4 was too big, too disruptive, and too much of a departure from the language's core principles. It was an attempt by big corporations to impose a top-down, heavyweight structure on a bottom-up, lightweight language. The ES4 camp was powerful and had the votes to push the standard through. This was the breaking point. Eich and his allies made a momentous decision: if TC39 ratified ES4 as the new official standard, they would refuse to implement it in their browsers (like Firefox) and applications. They were prepared to break from the standards body, effectively forking the language. This would have been a cataclysm for the web. Developers would have to choose between writing for the official 'ES4 JavaScript' or the 'classic JavaScript' used by Firefox and others. The web would have fractured, creating an even worse version of the browser wars of the 1990s. In a very real sense, to save the soul of his creation, Eich was willing to 'kill' the unified future of JavaScript.
The Harmony Compromise
The standoff was tense. The web's future hung in the balance. But Eich's faction didn't just say no; they proposed an alternative. They outlined a smaller, more practical set of updates that could be implemented quickly and wouldn't break the web. They called their vision ECMAScript 3.1. The conflict came to a head in 2008. Faced with a credible threat of a fork and a growing consensus that ES4 was simply too much, too soon, the committee blinked. In a famous meeting, the warring factions agreed to a compromise. The wildly ambitious ES4 project was officially abandoned. In its place, the committee would pursue the more modest, iterative approach. They symbolically named the new path forward 'Harmony.' This compromise directly led to ECMAScript 5, a huge and successful update that standardized the 'good parts' of the language and paved the way for the modern JavaScript ecosystem we have today, from Node.js to React.













