Franziska Hinkelmann is a compiler engineer on the v8 team at Google. This is a live blog. Doing the best I can to keep up and be accurate. Thanks for your understanding. — Tom
"What is node? It's AWESOME. That's the only joke you'll get in this 20 minutes."
Node.js is a JavaScript runtime, powered by v8, the same engine found in Chrome.
It provides asynchronous I/O, based on event loops.
100,000 lines of JS and C++ code, gluing v8 to server-side I/O and implementing Node modules.
And of course it is an ecosystem of open source packages (npm).
She works on the v8 engine, the JavaScript runtime [the engine that powers JavaScript]. They call it a compiler, a runtime, a virtual machine, etc.
Includes a just-in-time compiler (converts to very fast code on the fly) and performs speculative optimizations.
JavaScript source code is parsed and turned into an AST (Abstract Syntax Tree). Ignition compiles to bytecode, while TurboFan in the background compiled to optimized machine code. That includes speculative compilation to code that will be fast in certain situations; if the speculations are wrong it just runs the slightly slower bytecode.
v8 is written in C++ and implements the EcmaScript specification.
What v8 isn't:
It's not the I/O — it's not access to the filesystem. Those things are provided by libuv and Node.js itself.
It's not the DOM — that's provided by browsers themselves.
[It's just JavaScript itself in other words.]