The Language That Runs the Internet Was Built in 10 Days (And We're Still Paying for It)
In May 1995, Brendan Eich was given an impossible deadline: build a programming language in 10 days. He did. Now 98% of websites run on it.
The Deadline
May 1995. Netscape was at war with Microsoft for control of the web browser market. Marc Andreessen, Netscape's co-founder, wanted a scripting language embedded in the browser โ something simple that could make web pages interactive.
He hired Brendan Eich with a specific promise: you'll get to build a language based on Scheme, a elegant functional programming language. Then management changed their minds. They'd just signed a deal with Sun Microsystems. The new directive: make it look like Java.
Eich had 10 days.
The 10-Day Sprint
From May 6 to May 15, 1995, Eich locked himself away and built a prototype of what would become JavaScript. In just over a week, he created: the core syntax, functions as first-class objects, prototypal inheritance (borrowed from Self), event handling for the browser, and dynamic typing.
The result was a Frankenstein language โ Java's syntax stapled onto Scheme's functional core, with Self's prototype system bolted on. It was messy, inconsistent, and full of quirks that would haunt developers for decades.
It was also brilliant.
The Quirks We're Still Living With
Those 10 days produced some of JavaScript's most infamous behaviors. Type coercion that makes no sense on the surface: adding an empty array to an empty object produces the number zero. Comparing null to undefined returns true with double equals but false with triple equals.
These weren't bugs โ they were trade-offs made under impossible time pressure. Eich had to make hundreds of design decisions in 10 days. Some were inspired. Others were "I'll fix this later" moments that never got fixed because backward compatibility became sacred.
The web was growing too fast. You can't break the language that runs every website on earth. Every quirk, every inconsistency, every "wat" moment in JavaScript โ they're permanent. Archaeological layers of a language built in a sprint.
The Name Game
JavaScript was originally called Mocha. Then LiveScript. Then, in a marketing decision that caused decades of confusion, Netscape renamed it JavaScript to ride the hype wave of Java.
The languages have almost nothing in common. Java is statically typed, class-based, and compiled. JavaScript is dynamically typed, prototype-based, and interpreted. But the name stuck, and twenty-five years later, people still confuse them in job interviews.
Eich later said the name was "a marketing ploy" that he regretted. But by then, JavaScript was everywhere.
The Redemption Arc
For years, JavaScript was dismissed as a toy language. "Real" programmers used Java, C++, or Python. JavaScript was for making buttons change color when you hovered over them.
Then came three revolutions.
First: AJAX (2005). Gmail and Google Maps proved that JavaScript could build real applications in the browser. Second: Node.js (2009). Ryan Dahl put JavaScript on the server, and suddenly one language could run everywhere. Third: the modern ecosystem โ React, TypeScript, Next.js, Deno โ that transformed JavaScript from a scripting language into a platform.
The language built in 10 days now powers 98% of websites, runs server infrastructure, builds mobile apps, and even controls robots.
The Lesson
JavaScript's story is a reminder that great things don't need perfect beginnings. Sometimes the constraints โ the impossible deadlines, the contradictory requirements, the "make it look like Java" mandates โ produce something that's messy, human, and ultimately unstoppable.
Brendan Eich didn't set out to build the most widely-used programming language in history. He set out to survive a 10-day deadline. The language carries the scars of that sprint in every quirk and inconsistency. But it also carries something else: the adaptability, the flexibility, and the sheer stubbornness that made it the language of the web.
The best tools aren't the ones that are designed perfectly. They're the ones that refuse to die.
Keep Reading
The Midnight Hack That Broke the Web: How Ryan Dahl Invented Node.js Because He Hated Progress Bars
A frustrated programmer watching a file upload progress bar in 2009 got so annoyed that he spent six months building a technology that would power Netflix, LinkedIn, and half the modern internet.
The Licensing Fight That Saved the Internet: How a Lawyer's Email Forced Linus Torvalds to Create Git in Two Weeks
In April 2005, the version control system holding Linux together suddenly imploded. Linus Torvalds had 72 hours to find a replacement or watch kernel development grind to a halt. So he did what any reasonable person would do: he built his own in 14 days.
The Mutiny That Saved Linux: How Linus Torvalds Lost Control of His Own Kernel
In 1998, Linux was imploding from within. Linus Torvalds couldn't keep up with patches, developers were forking in frustration, and the entire project was about to collapse โ until one engineer built a tool so controversial that Linus banned it for years.