The Birth & Death of JavaScript
This is one of my favorite talks. Gary Bernhardt gave a fictionalized look at the history of JavaScript, which the speaker calls YavaScript, from 1995 until 2035. It's intentionally funny but has been shockingly accurate.
The talk centers around the development of asm.js, which was a subset of JavaScript that allowed programs written in C or C++ to be compiled and ran in a JavaScript engine – such as the one that ships in a web browser. The library was only released in 2013, but by 2014, when the talk was given, Unreal Engine had already been ported to the browser through asm.js.
Then Bernhardt skips to the future. Now he didn't predict the COVID pandemic, but weirdly enough, he talks about how little progress was made in 2020-2025 due to a "war".
In fictionalized 2025, he goes on to describe how developers are running thick applications like Gimp, a real open source photo editing software, in the browser. This isn't too far from how Figma (launched 2 years after this talk) works today – Figma was originally built on asm.js! Maybe Figma CEO Dylan Field saw this talk.
Then he goes on to talk about how we would develop a program to run asm.js programs at near-native speed, with the security of a virtual machine sandbox. He called this fictional technology Metal. Well, Metal looks a lot like WebAssembly.
He gives an example of Gimp running in wine, running in Chrome, running in Firefox, in a mind-bending deep stack of compiled asm.js. In reality, imitating art, someone actually did this in 2017. Not even Gary was that optimistic about our abilities.
Finally, Gary thought that in 2035 we wouldn't be writing JavaScript anymore, since we could have better language compile to a common runtime. Time will tell, but if it's any indication, JavaScript isn't going anywhere, even with WebAssembly.