https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript

Splash screens :))

JS designed in 10 days, compared to Closure development of 10 years.

Gary Bernhardt

https://twitter.com/garybernhardt

Not taken seriously until JS: The Good Parts

Node.js – set of async IO libraries married to the JS virtual machine distributed as a package.

Callback hell.

Strong opinions about Node.

ASM.js – subset of JS designed to compile very closely to native code.

Type annotations via weird structures.

Tooling around ASM has to develop.

We can run compiler inside a web browser from a zsh shell with jobs support.

Virtual memory – arbitrary mapping through a mapping table.

Protection rings – protection apps from other apps

Ring 0 – kernel

Ring 1, Ring 2 – not really used

Ring 3 – user land

Function calls – pushing registers to stack to save its state.

System calls – via interrupts.

Happening almost every-time on computer – it’s a lot of overhead. It has to be there, but programmers doesn’t care about that.

VM is protecting programmers from overriding memory.

Most programmers doesn’t know about low-level stuff.

Javascript had to be bad and popular to trigger this change.