In this brief presentation held at EURAS2023, I discuss how ECMAScript became a major standard having concrete impact on our daily lives.
The full paper (preprint) is available at https://arxiv.org/abs/2305.01373 .
300003-World Science Day For Peace And Development.pptx
ECMAScript - From an idea to a major standard
1. ECMAScript
From an idea to a major standard
Juho Vepsäläinen
28.06.2023, Aachen, EURAS2023
Content is available under
CC BY 4.0 unless otherwise stated
ES
2. There is an ECMAScript*
interpreter in your pocket
*Also known as JavaScript®
5. Background in 1995
Java, a system
level
programming
language, had
attained a strong
position in the
market
Web was a new
technology
(public in 1991)
[Berners-Lee,
1992]
First web
browsers,
including
Netscape
Navigator, were
starting to
become available
It was clear
interactive web
pages were
needed
But Java was too
heavy, a scripting
language had to
be designed
6. Meet Brendan Eich
Image source: Wikipedia
•In 1995, Brendan (Netscape) completed the
first version of LiveScript in ten days. The
language became available to the public as
JavaScript in 1996
•Due to competitive pressure and need to
standardize, TC39 was established at Ecma
to capture the current behavior
7.
8. •First draft of
ECMAScript
standard was
completed (ES1)
•ES3 was
completed as
work on
standardizing
already
established
behavior
continued
1997 1999
10. •First draft of
ECMAScript
standard was
completed (ES1)
•ES3 was
completed as
work on
standardizing
already
established
behavior
continued
1997 1999 2009 2015
•As ES4 effort
failed to
materialize, ES5
with less
ambitious goals
was completed
•ES6 (ES2015) was
completed
•At the same time
web applications
were becoming
mainstream
•A new working
process was
established
(champion model)
11. TC39 champion model
Stage 0 - Allow input into the specification
Stage 1 - Make the case for the addition, describe the shape of the solution, identify potential
challenges, find a champion
Stage 2 - Precisely describe the syntax and semantics using formal spec language, initial spec text
Stage 3 - Indicate that further refinement will require feedback from implementations and users,
complete spec text
Stage 4 - Indicate that the addition is ready for inclusion in the formal ECMAScript standard,
describe the feature using Test262 acceptance tests
Reference
13. Alternative futures
Open web won in
the end but what
could have
happened?
Instead of an
open standard,
we get a
monopolistic,
closed ecosystem
(JScript or similar
language over
ECMAScript)
Another option
would have been
an oligopoly with
walled gardens
(think Flash,
Silverlight, and
co.)
A mixed future
where both open
and closed
options exist
Can we still go
towards
something more
closed now that
default is open?
14. What went right/wrong?
• Example of success in standardization
• Eventually TC39 found a productive way of
working
• Managed to capture early developments in
web browsers and harmonize their behavior
• Helped to pave the way for web applications
(social media, online banking, etc.) and create
a massive market as a result
• Learned to appreciate the value of legacy and
maintaining support for older environment
(easy to add features, difficult to remove)
• Example of challenges in standardization
• ES4, the version that never happened, shows
the risks of designing by committee
(designing over specifying)
• Initial design was not meant to grow to the
current level of popularity
• Early mistakes in design can be difficult to
erase due to legacy and environments to
support
18. Standards wars
Rival technology
Your technology Compatible Incompatible
Compatible Rival evolutions Evolution versus revolution
Incompatible Revolution versus evolution Rival revolutions
19. Standards wars for ECMAScript
Creation
(1995-1996)
Standardization
(1996-1997)
From ES1 to
ES3 (1997-1999)
ES4 (1999-2008) ES5 (2008-2015) ES6 and beyond
(2015-)
Rival evolutions Ended due to
alignment
None Rival evolutions Revolution versus
evolution
Revolution versus
evolution
20. References
T. Berners-Lee, 1992 - World-Wide Web: The information universe
Shapiro et al., 1999 - Information rules: A strategic guide to the network economy
A. Wirfs-Brock, 2020 - JavaScript: The first 20 years