A presentation at JS Heroes in in Romania by Phil Hawksworth

14th May 2026 JS Heroes The time traveller’s guide to web technologies Phil Hawksworth he/him
8 Years t i s i v t s a l e c n i S
30 Years JavaScr ipt
30 Minutes Me
Reflect Consider Confess Many great talks Learn Party NOT TO SCALE Apply Heat death of the universe
b u H t i G Link Tw i t e dI n y k S Bl ue te r @ Phil Hawksworth.dev he/him Developer Relations, TBD We b
In the beginning…
May 1995 Brendan Eich creates the first version of JavaScript https://cybercultural.com/p/1995-the-birth-of-javascript/
Evolve & e v o r p Im
December 1995 Netscape and Sun Microsystems announce JavaScript https://www.tech-insider.org/java/research/1995/1204.html
March 1996 Microsoft introduces JScript in Internet Explorer https://cybercultural.com/p/1996-microsoft-activates-the-internet-with-activex-jscript/
March 1996 Netscape Navigator 2.0 is released with JavaScript 1.0
if (document.layers) { // Do all the Netscape things } else { // Do all the Internet Explorer things }
June 1997 Netscape submits JavaScript to ECMA International
Technical Committees TC39 TC26 ECMAScript Acoustics
Technical Committees having completed their tasks TC14 ✓ Paper sizes TC34 ✓ Office devices
March 1999 Microsoft releases Internet Explorer 5
April 2001 The first JSON message is sent https://twobithistory.org/2017/09/21/the-rise-and-rise-of-json.html
June 2002 JSLint is introduced Ecosystem Enrichment https://web.archive.org/web/20180226015758/https://codekitapp.com/help/jslint/
September 2002 Mozilla releases Phoenix 0.1 to compete with Internet Explorer
January 2003 Apple introduces Safari and WebKit
April 2004 A beta version of Gmail is released
February 2005 Jesse James Garrett coins “AJAX” https://designftw.mit.edu/lectures/apis/ajax_adaptive_path.pdf
A confession https://unsplash.com/photos/a-man-holds-his-head-while-sitting-on-a-sofa-BuNWp1bL0nc
I adore JavaScript but I like to use as little of it as possible. And ideally, no less. Phil Hawksworth, today (hoping we can still be friends)
WEBCONSOLE
Library and utility functions. document.getElementById(“some-id”);
Library and utility functions. function getById(id) { return document.getElementById(id) || null; }
Library and utility functions. function $(id) { return document.getElementById(id) || null; }
March 2006 John Resig pushes the first commits to jQuery https://github.com/jquery/jquery/commit/8a4a1edf047f2c272f663866eb7b5fcd644d65b3
jquery.com
Writing JavaScript should be fun — jQuery.com, 2006
An interactivity explosion
Flash vs HTML5
January 2007 The first Apple iPhone released Reach & Habitats https://www.apple.com/newsroom/2007/01/09Apple-Reinvents-the-Phone-with-iPhone
The way we interact with the UI all seems so obvious now
OMFG DEVICES @philhawksworth
Flash vs HTML5
! e ar We c WHY
Suddenly, stakeholders gave a shit
Awareness and empathy
Play
PLEASE DON’T TAKE MY FLASH AWAY FROM ME! – My buddy, Steve
May 2008 Douglas Crockford publishes “JavaScript: The Good Parts” https://www.oreilly.com/library/view/javascript-the-good/9780596517748
May 2008 Google releases the Chrome browser https://googleblog.blogspot.com/2008/12/google-chrome-beta.html
January 2009 CommonJS is created (originally named ServerJS
March 2009 Ryan Dahl begins work on Node.js Reach & Habitats https://github.com/nodejs/node/blob/1afe6d26dbcf76de15df7e2c8fc3aadbbb8b117d/README
https://www.youtube.com/watch?v=jo_B4LTHi3I&list=PPSV
April 2009 Oracle acquires Sun Microsystems https://www.oracle.com/corporate/pressrelease/oracle-buys-sun-042009.html
™ JavaScript
javascript.tm
June 2009 The first commit on Express.js is created https://github.com/expressjs/express/commit/9998490f93d3ad3d56c00d23c0aa13fac41c3f6b
August 2009 Jeff Atwood coins Atwood’s Law
Any application which can be written in javaScript, will eventually be written in JavaScript Atwood’s Law
January 2010 npm 1.0 is released Ecosystem Enrichment https://nodejs.org/en/blog/npm/npm-1-0-released
October 2010 AngularJS and Backbone.js are released m e t s y s o Ec t n e m Enrich
June 2011 Node.js is ported to Windows Reach & Habitats https://nodejs.org/en/blog/uncategorized/porting-node-to-windows-with-microsofts-help
October 2012 Microsoft makes TypeScript 0.8 available for the public m e t s y s o c E t n e m Enrich https://devblogs.microsoft.com/typescript/announcing-typescript-0-8-1
May 2013 Facebook releases React Ecosystem t n e m h c i Enr
July 2013 Gulp is released Ecosystem Enrichment
Hipster tax
Over Engineered
Over Under Engineered
February 2014 Vue.js is released m e t s y s o Ec t n e m h c i r n E https://github.com/vuejs/vue/releases/tag/v0.10.0
November 2014 Amazon announces AWS Lambda Reach & Habitats https://press.aboutamazon.com/2014/11/amazon-web-services-announces-aws-lambda
Serverless
Just write code
Just write code
July 2015 ECMAScript 6 is released ES2015 Evolve & e v o r p Im
March 2016 Azer Koculu removes Leftpad from npm
What code are we shipping?
April 2016 Microsoft releases VSCode 1.0
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user ’til I die.
I’m a user for the time being.
September 2016 Angular Angular2 released http://angularjs.blogspot.com/2016/09/angular2-final.html
October 2016 Next.js 1.0 released https://vercel.com/blog/next
e ov m s g n i Some th Quickly e ov m s g n i Some th Slowly
March 2017 The initial commit for the Temporal proposal is created https://github.com/tc39/proposal-temporal/commit/8a171d1661babda716251250fbdb4dd39f2dd1c2
Because…
Working with time and dates in JavaScript can be a massive pain in the arse Brendan Eich ( citation needed )
March 2017 The initial commit for the Temporal proposal is created https://github.com/tc39/proposal-temporal/commit/8a171d1661babda716251250fbdb4dd39f2dd1c2
April 2017 Prettier 1.0 released https://prettier.io/blog/2017/04/13/1.0.0
September 2017 Facebook launches Yarn https://engineering.fb.com/2016/10/11/web/yarn-a-new-package-manager-for-javascript
September 2017 Cloudflare launches Cloudflare Workers s t a it b a H & h c a e R https://blog.cloudflare.com/introducing-cloudflare-workers
June 2018 Ryan Dahl teases a new project in a talk about his regrets about Node
“node”.split(“”).sort().join(“”);
May 2020 JavaScript makes it into space with SpaceX Dragon Reach & Habitats https://os-system.com/blog/javascript-in-space-spacex-devs-have-shared-crewdragons-tech-stack
May 2020 JavaScript makes it into space with SpaceX Dragon Reach & Habitats https://os-system.com/blog/javascript-in-space-spacex-devs-have-shared-crewdragons-tech-stack
May 2020 Deno 1.0 released
October 2024 Deno 2.0 released and I join Deno
So?
Heat death of the universe We’re not done
e v l o v E & e v o r p Im t a h t o d e W s t a it b a H & h c a e R Ecosystem Enrichment
! e ar We c WHY
e d o c e t i r Just w
e d o c e k a m t s u J
? s g n i h t e k a m t s Ju
Our next frontier https://unsplash.com/photos/eH_ftJYhaTY
l a u t c A Artificial intelligence
What if we don’t engage?
We are an informed bunch
We are an opinionated bunch
We are an opinionated bunch
Let’s not waste that by choosing not to engage
I’m usually slow to adopt abstractions
I concede AI is not SASS
Why Software Fundamentals Matter More Than Ever — Matt Pocock
It feels like Another layer of abstraction
™ We own JavaScript
We drive it forward
We can use it responsibly
We can use it whimsically
We can use it to do incredible things
Thanks. philhawksworth.dev findthat.at / time
With JavaScript celebrating its 30th birthday this year, now feels like a good time to look back at where we came from, and look forward to where we might be heading.
In this nostalgic talk, Phil will reflect on some of the moments of our past as JavaScript and web technologies evolved, share thoughts on some of our collective hits and misses, and present some hopes and insights on what the future could hold.