SlideShare a Scribd company logo
2
Most read
7
Most read
10
Most read
Brief History of
JavaScript
An introduction to properly distinct JavaScript, ECMAScript,
Node.js and some other buzzwords
Genesis
● Created by Brendan Eich (founder of Mozilla) to be run natively on Netscape
browser in 1995
● The goal is to turn static HTML page to be more dynamic
● Originally called “LiveScript”, only to be renamed later to “JavaScript”
because anything with name “Java” in it was so cool in 90’s
The Browser War
● Microsoft then adopted stole the technology to be implemented on its own
glorious browser: Internet Explorer
● The implementation got really different from the Netscape’s, frustrating web
developers to make a single working website for all browsers
● This made birth to terms like “best viewed in Internet Explorer”
Standardization
● Netscape submitted the JavaScript language to ECMA International to make a
standardized version based on their implementation
● Thus born the term “ECMAScript” to identify the specification of the language
● Other companies later made implementation based on this spec, like
Macromedia with their “ActionScript”, and of course Microsoft with their…
“JScript”
● This standardization only unified the web for a few years before companies
started to fight over which implementation that should be prioritized
● Guess which company started the fight?
● Of course it’s Microsoft
The Browser War cont.
The Renaissance Era
● Despite the browser war, JavaScript community was flourishing, and they gave
way to libraries like jQuery, Prototype, and MooTools to ease development of
cross-browser features
● Also in this era, the term AJAX (Asynchronous JavaScript XML) was coined to
describe techniques to allow JavaScript to fetch data from server without
reloading the whole document
● The implementation of AJAX was also messy and unstandardized, with some
browsers using XMLHttpRequest and others with ActiveX. But thanks to
libraries above, this didn’t bother web developers anymore
The Harmony
● As the war of “mY JavAScRipt iS BetTEr” was no longer relevant, the
companies started to regroup again and finally released specification of
ECMAScript 5, which codenamed as “Harmony”
● This led to a smoother development of JavaScript, with the release of the
infamous ECMAScript 6, a.k.a. ES6
● ES6 is now renamed as ES2015, where subsequent version is ES2016 &
ES2017
Common Ground
● In 2009, the effort to make specification for JavaScript to be run outside
browser was started, resulting in “CommonJS” (originally called “ServerJS”)
● The most popular implementation is, of course, Node.js
● The popular yet less known implementation is: MongoDB
● Node.js is built using V8, the JavaScript engine that is originally made for
Google Chrome browser
Bonus Chapter: The Node War
● Node.js was founded by Ryan Dahl in 2009 when working on a company
called Joyent
● Joyent later took the governance of Node development, but this made the
development less open to community
● So the community took a “People Power” in 2014 by forking Node to io.js and
develop their own features based on latest version of V8 engine
● Thankfully in 2015 the war is ended by the foundation of Node.js Foundation
which oversee the release of Node v4, codenamed as, you know it: “Harmony”
The Typings
● Being a dynamic language, some people thought what if JavaScript is statically
typed. This led to the creation of TypeScript, a superset of JavaScript
● Essentially, TypeScript make JavaScript to be more Java, with features like
types (duh), annotations, generics and interfaces
● To run a TypeScript code, it must be compiled into JavaScript first, which will
strip those additional features
● Guess who created TypeScript?
● Surprise, surprise, it’s Microsoft
Summary/Glossary
● JavaScript is the original language to be run in browsers
● LiveScript is the original name
● ECMAScript is the specification of the language
● ActionScript, JScript is example of other languages implementing the spec
● TypeScript is the static superset of the language
● CommonJS is the specification for out-of-browser JavaScript
● Node.js is the most popular server side JavaScript, implementing CommonJS
First World Problem
● Despite smooth release of ECMAScript specifications, the real
implementations of the features are not equal in every browsers
● Also in server-side Node.js, the implementation of a single ES spec is spread
into multiple versions
● This brings new headache for developers: “In which ES version should we
write our applications?”
● The safest bet of course the lowest version, which is more widely adopted, but
the developer experience definitely is the worst
The Tower of Babel
● The solution: a “transpiler”, which is like a compiler of a language, but resulting
in same language
● Babel is the most known transpiler for JavaScript, allowing you to write the app
in latest spec, ES2017 for example, then transpile it to ES5
● Named from the biblical Tower of Babel, which is the myth-origin of why
mankind speaks different languages
Atwood’s Law:
“Any application that can be written in
JavaScript, will eventually be written
in JavaScript”
~ Jeff Atwood, creator of StackOverflow
Thanks

More Related Content

What's hot (20)

ODP
History of JavaScript
Rajat Saxena
 
PPTX
PHP Presentation
JIGAR MAKHIJA
 
PDF
JavaScript Programming
Sehwan Noh
 
PPT
Test automation using selenium
shreyas JC
 
PDF
Javascript
Vibhor Grover
 
PDF
Spring Boot
Pei-Tang Huang
 
PPTX
Reactjs
Mallikarjuna G D
 
PPTX
Introduction to React JS for beginners
Varun Raj
 
PPT
Test Automation Framework Designs
Sauce Labs
 
PPTX
Introduction to spring boot
Santosh Kumar Kar
 
PPTX
Event In JavaScript
ShahDhruv21
 
PPT
Maven Introduction
Sandeep Chawla
 
PPTX
Spring Boot
Jiayun Zhou
 
PDF
TypeScript - An Introduction
NexThoughts Technologies
 
PPTX
Framework For Automation Testing Practice Sharing
KMS Technology
 
PDF
JavaScript - Chapter 11 - Events
WebStackAcademy
 
PPTX
Reactjs
Neha Sharma
 
PDF
Basics of JavaScript
Bala Narayanan
 
PPTX
Intro to React
Justin Reock
 
PPSX
Junit
FAROOK Samath
 
History of JavaScript
Rajat Saxena
 
PHP Presentation
JIGAR MAKHIJA
 
JavaScript Programming
Sehwan Noh
 
Test automation using selenium
shreyas JC
 
Javascript
Vibhor Grover
 
Spring Boot
Pei-Tang Huang
 
Introduction to React JS for beginners
Varun Raj
 
Test Automation Framework Designs
Sauce Labs
 
Introduction to spring boot
Santosh Kumar Kar
 
Event In JavaScript
ShahDhruv21
 
Maven Introduction
Sandeep Chawla
 
Spring Boot
Jiayun Zhou
 
TypeScript - An Introduction
NexThoughts Technologies
 
Framework For Automation Testing Practice Sharing
KMS Technology
 
JavaScript - Chapter 11 - Events
WebStackAcademy
 
Reactjs
Neha Sharma
 
Basics of JavaScript
Bala Narayanan
 
Intro to React
Justin Reock
 

Similar to Brief History of JavaScript (20)

PPTX
Javascript Today
Sistek Yazılım
 
PDF
An Intro to Js & Node.js
Premchand Kumar
 
DOCX
INTRODUCTION.docx
KaiSane1
 
PPTX
Noam Kfir - There is no Java Script - code.talks 2015
AboutYouGmbH
 
PPTX
There Is No JavaScript
Noam Kfir
 
PPTX
A walkthrough of JavaScript ES6 features
Michal Juhas
 
PDF
Type script vs javascript come face to face in battleground
Katy Slemon
 
PPTX
JavaScript as Development Platform
Alexei Skachykhin
 
PDF
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
Mario Heiderich
 
PPTX
JavaScript: the who, what, when, where, why, & how
Monty Dickerson
 
PDF
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
PPTX
JS & NodeJS - An Introduction
Nirvanic Labs
 
PDF
Evolving js
shavien
 
PDF
javascript-beginner-handbook.pdf
RaviKumar76265
 
PDF
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
PDF
Javascript beginner-handbook
Faina Fridman
 
PDF
NetBeans Support for EcmaScript 6
Kostas Saidis
 
PPTX
JavaScript: Implementations And Applications
Pragya Pai
 
PPTX
WT Module-3.pptx
RamyaH11
 
Javascript Today
Sistek Yazılım
 
An Intro to Js & Node.js
Premchand Kumar
 
INTRODUCTION.docx
KaiSane1
 
Noam Kfir - There is no Java Script - code.talks 2015
AboutYouGmbH
 
There Is No JavaScript
Noam Kfir
 
A walkthrough of JavaScript ES6 features
Michal Juhas
 
Type script vs javascript come face to face in battleground
Katy Slemon
 
JavaScript as Development Platform
Alexei Skachykhin
 
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
Mario Heiderich
 
JavaScript: the who, what, when, where, why, & how
Monty Dickerson
 
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
JS & NodeJS - An Introduction
Nirvanic Labs
 
Evolving js
shavien
 
javascript-beginner-handbook.pdf
RaviKumar76265
 
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
Javascript beginner-handbook
Faina Fridman
 
NetBeans Support for EcmaScript 6
Kostas Saidis
 
JavaScript: Implementations And Applications
Pragya Pai
 
WT Module-3.pptx
RamyaH11
 
Ad

Recently uploaded (20)

PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PPTX
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
PPTX
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
PDF
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
Thermal runway and thermal stability.pptx
godow93766
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
Ad

Brief History of JavaScript

  • 1. Brief History of JavaScript An introduction to properly distinct JavaScript, ECMAScript, Node.js and some other buzzwords
  • 2. Genesis ● Created by Brendan Eich (founder of Mozilla) to be run natively on Netscape browser in 1995 ● The goal is to turn static HTML page to be more dynamic ● Originally called “LiveScript”, only to be renamed later to “JavaScript” because anything with name “Java” in it was so cool in 90’s
  • 3. The Browser War ● Microsoft then adopted stole the technology to be implemented on its own glorious browser: Internet Explorer ● The implementation got really different from the Netscape’s, frustrating web developers to make a single working website for all browsers ● This made birth to terms like “best viewed in Internet Explorer”
  • 4. Standardization ● Netscape submitted the JavaScript language to ECMA International to make a standardized version based on their implementation ● Thus born the term “ECMAScript” to identify the specification of the language ● Other companies later made implementation based on this spec, like Macromedia with their “ActionScript”, and of course Microsoft with their… “JScript”
  • 5. ● This standardization only unified the web for a few years before companies started to fight over which implementation that should be prioritized ● Guess which company started the fight? ● Of course it’s Microsoft The Browser War cont.
  • 6. The Renaissance Era ● Despite the browser war, JavaScript community was flourishing, and they gave way to libraries like jQuery, Prototype, and MooTools to ease development of cross-browser features ● Also in this era, the term AJAX (Asynchronous JavaScript XML) was coined to describe techniques to allow JavaScript to fetch data from server without reloading the whole document ● The implementation of AJAX was also messy and unstandardized, with some browsers using XMLHttpRequest and others with ActiveX. But thanks to libraries above, this didn’t bother web developers anymore
  • 7. The Harmony ● As the war of “mY JavAScRipt iS BetTEr” was no longer relevant, the companies started to regroup again and finally released specification of ECMAScript 5, which codenamed as “Harmony” ● This led to a smoother development of JavaScript, with the release of the infamous ECMAScript 6, a.k.a. ES6 ● ES6 is now renamed as ES2015, where subsequent version is ES2016 & ES2017
  • 8. Common Ground ● In 2009, the effort to make specification for JavaScript to be run outside browser was started, resulting in “CommonJS” (originally called “ServerJS”) ● The most popular implementation is, of course, Node.js ● The popular yet less known implementation is: MongoDB ● Node.js is built using V8, the JavaScript engine that is originally made for Google Chrome browser
  • 9. Bonus Chapter: The Node War ● Node.js was founded by Ryan Dahl in 2009 when working on a company called Joyent ● Joyent later took the governance of Node development, but this made the development less open to community ● So the community took a “People Power” in 2014 by forking Node to io.js and develop their own features based on latest version of V8 engine ● Thankfully in 2015 the war is ended by the foundation of Node.js Foundation which oversee the release of Node v4, codenamed as, you know it: “Harmony”
  • 10. The Typings ● Being a dynamic language, some people thought what if JavaScript is statically typed. This led to the creation of TypeScript, a superset of JavaScript ● Essentially, TypeScript make JavaScript to be more Java, with features like types (duh), annotations, generics and interfaces ● To run a TypeScript code, it must be compiled into JavaScript first, which will strip those additional features ● Guess who created TypeScript? ● Surprise, surprise, it’s Microsoft
  • 11. Summary/Glossary ● JavaScript is the original language to be run in browsers ● LiveScript is the original name ● ECMAScript is the specification of the language ● ActionScript, JScript is example of other languages implementing the spec ● TypeScript is the static superset of the language ● CommonJS is the specification for out-of-browser JavaScript ● Node.js is the most popular server side JavaScript, implementing CommonJS
  • 12. First World Problem ● Despite smooth release of ECMAScript specifications, the real implementations of the features are not equal in every browsers ● Also in server-side Node.js, the implementation of a single ES spec is spread into multiple versions ● This brings new headache for developers: “In which ES version should we write our applications?” ● The safest bet of course the lowest version, which is more widely adopted, but the developer experience definitely is the worst
  • 13. The Tower of Babel ● The solution: a “transpiler”, which is like a compiler of a language, but resulting in same language ● Babel is the most known transpiler for JavaScript, allowing you to write the app in latest spec, ES2017 for example, then transpile it to ES5 ● Named from the biblical Tower of Babel, which is the myth-origin of why mankind speaks different languages
  • 14. Atwood’s Law: “Any application that can be written in JavaScript, will eventually be written in JavaScript” ~ Jeff Atwood, creator of StackOverflow

Editor's Notes

  • #13: See: https://caniuse.com/#feat=es6-class See: https://node.green/