LearnContact
Lesson 235 min read

History of JavaScript

Learn how JavaScript was created, why it was developed, how it evolved from Mocha to ECMAScript, and how it became one of the most important programming languages in the world.

Introduction

JavaScript is one of the most widely used programming languages in the world, but it was not originally designed to become a language for building complete web applications, servers, mobile apps, desktop software, and complex development platforms.

It began as a small scripting language created to solve a simple problem: webpages needed a way to respond to users directly inside the browser.

From a language created in a very short period of time to the foundation of modern web development, the history of JavaScript is closely connected to the history and evolution of the World Wide Web.

What You Will Learn
  • Why JavaScript was created.
  • Who created JavaScript.
  • Why the language had several different names.
  • How the browser wars affected JavaScript.
  • Why ECMAScript was created.
  • How JavaScript evolved through different ECMAScript versions.
  • How JavaScript expanded beyond web browsers.
  • How JavaScript became a complete application development platform.

The Web Before JavaScript

In the early years of the World Wide Web, webpages were mostly static documents. HTML could display headings, paragraphs, images, links, and basic forms, but webpages had very little ability to respond dynamically to users.

When users performed an action, such as submitting a form, the browser usually had to send the information to a server. The server processed the request and returned a completely new webpage.

Early Web Interaction
User Opens Webpage
        ↓
Browser Displays Static HTML
        ↓
User Performs an Action
        ↓
Request Sent to Server
        ↓
Server Processes Request
        ↓
New HTML Page Returned
        ↓
Browser Reloads Entire Page

This approach worked, but it made websites slower and less interactive. Even simple operations often required communication with the server and a complete page reload.

Static Pages

Webpages mainly displayed fixed text, images, and links.

Frequent Reloads

Many user actions required loading a completely new webpage.

Server Dependency

Most processing happened on the server instead of inside the browser.

Limited Interaction

Webpages could not easily respond immediately to user actions.

Why Was JavaScript Created?

As the web became more popular, developers wanted webpages to become more interactive. Browsers needed a lightweight programming language that could execute directly on the user’s computer.

The goal was to allow webpages to respond immediately to user actions without sending every operation to a web server.

Form Validation

Check user input before sending information to the server.

User Interaction

Respond to clicks, mouse actions, and other browser events.

Dynamic Content

Change webpage content while the page was already open.

Faster Response

Perform simple operations directly inside the browser.

Original Purpose
  • JavaScript was created as a lightweight browser scripting language.
  • It was designed to make webpages interactive.
  • It allowed code to execute directly on the user’s computer.
  • It reduced the need to contact the server for every small action.

Who Created JavaScript?

JavaScript was created by Brendan Eich in 1995 while he was working at Netscape Communications.

At that time, Netscape Navigator was one of the most popular web browsers. Netscape wanted to add a scripting language that would allow developers to create interactive webpages directly inside the browser.

Creator

Brendan Eich created the original JavaScript language.

Year

JavaScript was created in 1995.

Company

The language was developed while Brendan Eich worked at Netscape Communications.

Browser

The language was initially developed for Netscape Navigator.

JavaScript Origin
Creator       → Brendan Eich
Year          → 1995
Company       → Netscape Communications
Browser       → Netscape Navigator
Original Goal → Interactive Webpages

JavaScript in 10 Days

One of the most famous facts about JavaScript is that the first version of the language was created in approximately ten days.

The short development period was caused by intense competition in the rapidly growing browser market. Netscape needed a scripting language quickly and wanted to include it in its browser.

What Does "Created in 10 Days" Mean?
  • It refers to the creation of the first prototype of the language.
  • Modern JavaScript was not completely designed in ten days.
  • The language has been continuously improved for decades.
  • Thousands of developers and standards contributors have helped evolve the language.

Some unusual behaviors in JavaScript can be traced back to decisions made during its early development. However, the language has changed dramatically since the original version.

Mocha to LiveScript

JavaScript was not always called JavaScript. The language changed names several times during its early development.

Name Evolution
Mocha
  ↓
LiveScript
  ↓
JavaScript

Mocha

The original development name used for the language.

LiveScript

The language was later renamed LiveScript.

JavaScript

The final public name became JavaScript.

The name changes reflect the rapidly changing technology industry of the 1990s and the commercial competition surrounding web browsers and programming languages.

Why the Name JavaScript?

The name JavaScript is one of the most common sources of confusion for beginners because JavaScript and Java are completely different programming languages.

During the 1990s, Java was becoming extremely popular. Netscape and Sun Microsystems were working together, and the name LiveScript was changed to JavaScript partly because of the popularity and marketing power associated with Java.

JavaScript is Not Java
  • JavaScript and Java are different programming languages.
  • They have different syntax and execution models.
  • They were created by different people.
  • They were designed for different original purposes.
  • Learning Java does not mean you automatically know JavaScript.
Java vs JavaScript
Java                     JavaScript
────                     ──────────
Class-based              Prototype-based
Originally compiled      Originally browser scripting
Runs on JVM              Runs in JavaScript engines
Static typing            Dynamic typing
Different language       Different language

The Browser Wars

During the mid and late 1990s, browser companies competed aggressively for control of the growing web browser market. This period became known as the Browser Wars.

After Netscape introduced JavaScript, Microsoft created its own implementation called JScript for Internet Explorer.

Browser Competition
Netscape Navigator
        ↓
    JavaScript

Microsoft Internet Explorer
        ↓
      JScript

Different browser implementations created a serious problem. Developers could write code that worked correctly in one browser but failed in another.

Different Browsers

Browser companies implemented scripting features differently.

Compatibility Problems

The same code could behave differently across browsers.

Developer Difficulty

Developers often had to write separate code for different browsers.

Need for Standards

A common language specification became necessary.

Need for Standardization

As different browsers developed their own JavaScript implementations, the web needed a standard specification that all browser companies could follow.

Netscape submitted JavaScript to Ecma International, a standards organization. The goal was to create an official specification for the language.

Standardization Process
JavaScript Implementation
          ↓
Submitted for Standardization
          ↓
Ecma International
          ↓
Language Specification Created
          ↓
ECMAScript
Why Standardization Was Important
  • Browsers needed to follow common language rules.
  • Developers needed predictable behavior.
  • Web applications needed better cross-browser compatibility.
  • The language needed a formal process for future improvements.

What is ECMAScript?

ECMAScript is the official standardized specification that defines the rules and features of the JavaScript language.

The specification describes how language features should behave. JavaScript engines then implement those rules so developers can write JavaScript programs.

Specification and Implementation
ECMAScript
(Language Specification)
        ↓
Defines Language Rules
        ↓
JavaScript Engines Implement Rules
        ↓
Developers Write JavaScript Code
Simple Definition
  • ECMAScript is the standard.
  • JavaScript is the language implementation developers use.
  • New JavaScript language features are defined through ECMAScript specifications.

JavaScript vs ECMAScript

The terms JavaScript and ECMAScript are closely related, but they do not mean exactly the same thing.

ECMAScript

The official language specification that defines syntax, features, and behavior.

JavaScript

The programming language implementation used by developers and supported by JavaScript engines.

Simple Comparison
ECMAScript = Rules and Specification

JavaScript = Practical Implementation

Specification
      ↓
JavaScript Engine
      ↓
JavaScript Program

ECMAScript Timeline

JavaScript has evolved through multiple versions of the ECMAScript specification. Each version introduced improvements and new language features.

Major JavaScript Timeline
1995  → JavaScript Created
1997  → ECMAScript 1
1998  → ECMAScript 2
1999  → ECMAScript 3
2009  → ECMAScript 5
2015  → ECMAScript 2015 (ES6)
2016  → ECMAScript 2016
2017  → ECMAScript 2017
2018  → ECMAScript 2018
  ↓
Annual ECMAScript Releases Continue

ES1 — The First Standard

ECMAScript 1 was released in 1997. It was the first official standardized version of the language.

ES1 established the fundamental language rules that allowed different implementations to follow a common specification.

Released

ECMAScript 1 was released in 1997.

First Standard

It established the first official ECMAScript specification.

Common Rules

Browser implementations could begin following standardized language behavior.

ES2 and ES3

ECMAScript 2 was released in 1998. It mainly introduced editorial changes required to align the specification with international standards.

ECMAScript 3 was released in 1999 and introduced several important language improvements that became fundamental parts of JavaScript development.

Regular Expressions

Added powerful pattern matching capabilities for working with text.

Exception Handling

Improved the ability to handle runtime errors using structured error handling.

String Improvements

Expanded capabilities for processing and manipulating text.

Language Improvements

Added several features that made JavaScript more capable for application development.

What Happened to ES4?

ECMAScript 4 was planned as a major update to the language. It proposed many ambitious features and significant changes.

However, the proposed changes created disagreement among the organizations and developers involved in the standardization process. The version was eventually abandoned.

ES4 Development
ES3
 ↓
Large ES4 Proposal
 ↓
Major Disagreements
 ↓
ES4 Abandoned
 ↓
Smaller Improvements Continue
 ↓
ES5
Important Point
  • There is no official released ECMAScript 4 version.
  • Some ideas proposed for ES4 influenced later JavaScript features.
  • JavaScript development continued with ECMAScript 5.

ES5 — Modern Foundation

ECMAScript 5 was released in 2009. It was an important update that improved JavaScript for larger and more reliable applications.

Strict Mode

Introduced a stricter execution mode that helps prevent certain common programming mistakes.

JSON Support

Added built-in methods for converting JavaScript data to and from JSON.

Array Methods

Introduced useful array operations such as forEach, map, filter, and reduce.

Object Improvements

Added new methods and capabilities for working with JavaScript objects.

ES5 Example
'use strict';

var numbers = [1, 2, 3, 4, 5];

var doubled = numbers.map(function (number) {
    return number * 2;
});

console.log(doubled);
Output

ES6 — Major Revolution

ECMAScript 2015, commonly called ES6, was one of the largest and most important updates in JavaScript history.

ES6 introduced many features that changed how modern JavaScript applications are written. It marked the beginning of the modern JavaScript era.

let and const

Introduced modern ways to declare variables and constants.

Arrow Functions

Added a shorter syntax for writing certain types of functions.

Template Literals

Made it easier to create strings containing variables and expressions.

Classes

Introduced class syntax for creating object-oriented structures.

Modules

Added standardized import and export syntax for organizing code.

Promises

Improved the handling of asynchronous operations.

Modern ES6 Example
const language = 'JavaScript';

const greet = (name) => {
    return `Welcome to ${name}!`;
};

console.log(greet(language));
Output
Why ES6 Matters
  • Most modern JavaScript code uses ES6 features.
  • Modern frameworks depend heavily on ES6 and later syntax.
  • The Core JavaScript course will use modern JavaScript syntax.
  • Understanding ES6 is essential for modern JavaScript development.

Annual Release Cycle

After ES6, ECMAScript moved to an annual release cycle. Instead of waiting many years for extremely large updates, new approved language features could be released regularly.

Modern Release Model
ES6
ECMAScript 2015
        ↓
ECMAScript 2016
        ↓
ECMAScript 2017
        ↓
ECMAScript 2018
        ↓
ECMAScript 2019
        ↓
Continued Annual Releases

This approach allows JavaScript to evolve gradually and consistently while giving browser developers time to implement new features.

JavaScript Beyond Browsers

JavaScript was originally created for browser interactions, but the language eventually expanded far beyond its original purpose.

Frontend Development

Build interactive websites and complete browser applications.

Backend Development

Create servers, APIs, authentication systems, and backend applications.

Mobile Development

Build applications for mobile devices using JavaScript technologies.

Desktop Development

Create cross-platform desktop software.

Game Development

Build browser games and interactive experiences.

Automation

Create scripts, development tools, testing systems, and automated workflows.

The Rise of Node.js

A major turning point in JavaScript history occurred when Node.js made it possible to run JavaScript outside the web browser as a general-purpose runtime environment.

Developers could now use the same programming language for both frontend and backend development.

Full Stack JavaScript
Frontend
Browser
JavaScript
    ↓
    API
    ↓
Backend
Node.js
JavaScript
    ↓
Database

Frontend

JavaScript runs inside the browser and controls the user interface.

Backend

JavaScript runs on servers and processes application logic.

Development Tools

JavaScript runtimes power many build tools, package managers, and development systems.

Full Stack

Developers can use JavaScript across the complete application stack.

Modern JavaScript Ecosystem

JavaScript has grown into a massive development ecosystem. The language is now surrounded by libraries, frameworks, runtimes, package managers, testing tools, build systems, and development platforms.

Frontend Libraries

JavaScript powers modern user interface libraries and application development systems.

Frontend Frameworks

Developers use JavaScript frameworks to build large and structured applications.

Server Runtimes

JavaScript can execute outside browsers for backend and system development.

Package Ecosystem

Developers can reuse millions of packages and development tools.

Testing Tools

JavaScript supports automated testing for frontend and backend applications.

Build Tools

Modern development tools process, optimize, bundle, and deploy JavaScript applications.

JavaScript Today

JavaScript has evolved from a simple browser scripting language into a complete programming platform used across almost every area of modern software development.

JavaScript Evolution
1995
Simple Browser Scripts
        ↓
Interactive Webpages
        ↓
Dynamic Web Applications
        ↓
Server Development
        ↓
Mobile Applications
        ↓
Desktop Applications
        ↓
Full Stack Development
        ↓
Modern Software Ecosystem

Modern JavaScript continues to evolve through the ECMAScript standard. New features are carefully proposed, reviewed, standardized, and implemented by JavaScript engines.

Why Does JavaScript History Matter?

Understanding JavaScript history helps explain why the language behaves the way it does and why developers use certain terms and development practices.

Understand Language Behavior

Some unusual JavaScript behaviors become easier to understand when you know how the language evolved.

Understand ECMAScript

You can clearly understand the relationship between JavaScript and the ECMAScript specification.

Understand Old and New Syntax

You can recognize why older projects use different JavaScript syntax than modern applications.

Understand Browser Compatibility

The browser wars explain why cross-browser support remains an important development concern.

Common Beginner Confusions

Avoid These Common Confusions
  • JavaScript and Java are not the same language.
  • ECMAScript is the standard specification behind JavaScript.
  • ES6 and ECMAScript 2015 refer to the same major release.
  • JavaScript was not originally created for backend development.
  • The first prototype was created quickly, but modern JavaScript evolved over decades.
  • There was no officially released ECMAScript 4.
  • Modern JavaScript continues to receive new standardized features.

Frequently Asked Questions

Who created JavaScript?

JavaScript was created by Brendan Eich in 1995 while he was working at Netscape Communications.

Was JavaScript really created in 10 days?

The first prototype of the language was created in approximately ten days. Modern JavaScript has evolved continuously for decades.

What was the original name of JavaScript?

The language was initially called Mocha, later renamed LiveScript, and finally renamed JavaScript.

Is JavaScript related to Java?

No. JavaScript and Java are separate programming languages with different designs, execution environments, and use cases.

What is ECMAScript?

ECMAScript is the official standardized specification that defines the rules and features of the JavaScript language.

What is ES6?

ES6 is another name for ECMAScript 2015, a major JavaScript update that introduced features such as let, const, arrow functions, classes, modules, template literals, and promises.

Why was ES4 skipped?

ECMAScript 4 was proposed but never officially released because of disagreements about its complexity and direction.

Can JavaScript run outside browsers?

Yes. JavaScript can run outside browsers using runtime environments such as Node.js.

Does JavaScript still change?

Yes. JavaScript continues to evolve through new ECMAScript specifications and regularly receives new standardized features.

Key Takeaways

  • JavaScript was created in 1995.
  • Brendan Eich created the original JavaScript language at Netscape.
  • The first prototype was developed in approximately ten days.
  • JavaScript was originally created to make webpages interactive.
  • The language was first called Mocha, then LiveScript, and finally JavaScript.
  • JavaScript and Java are completely different programming languages.
  • Browser competition created compatibility problems.
  • ECMAScript was created to standardize the language.
  • ECMAScript is the specification, while JavaScript is the implementation developers use.
  • ECMAScript 5 introduced important improvements for modern application development.
  • ECMAScript 2015, also called ES6, was one of the largest updates in JavaScript history.
  • Modern ECMAScript follows an annual release cycle.
  • JavaScript expanded beyond browsers through server-side runtime environments.
  • JavaScript is now used for frontend, backend, mobile, desktop, games, and development tools.

Summary

JavaScript began in 1995 as a small scripting language designed to make webpages interactive. Brendan Eich created the first prototype while working at Netscape, and the language quickly became an important part of web development.

Browser competition created compatibility problems, which led to the standardization of the language through ECMAScript. Over time, new ECMAScript versions introduced increasingly powerful features.

JavaScript eventually expanded beyond the browser and became a complete development platform. Today, it is used for frontend applications, backend servers, mobile apps, desktop software, games, development tools, and many other types of software.

Lesson 2 Completed
  • You know why JavaScript was created.
  • You know who created JavaScript and when.
  • You understand the names Mocha, LiveScript, and JavaScript.
  • You understand why JavaScript and Java are different.
  • You understand the browser wars and the need for standardization.
  • You understand the relationship between JavaScript and ECMAScript.
  • You know the major stages in JavaScript evolution.
  • You understand the importance of ES5 and ES6.
  • You know how JavaScript expanded beyond web browsers.
Next Lesson →

JavaScript Engine