Things have changed. Today JS is no longer the add-some-animation-to-my-website language. It's now the language of the web. On the client, on the server, on the mobile, everywhere. But let's face it: JS still has challenges. Just look at large scale applications, like apps with 1 million lines of code (aka 1mloc apps) or with multiplatform development. What if we don't write native JS, but we use it as an assembly language? Can we think of Javascript as a runtime environment?