
Why language interpreters and virtual machines are slow
An exploration of how interpreters processing code introduces bottlenecks that compiled code does not, and some techniques to alleviate those issues.

An exploration of how interpreters processing code introduces bottlenecks that compiled code does not, and some techniques to alleviate those issues.

Explore how React’s useState hook works under the hood and understand how state is tracked across renders — a key to writing correct and predictable code.

A look into the structure and abstract machines of intermediate languages, with examples in stack-based and register-based machines.

There are too many ways to represent unknown or missing data and this can lead to defects.

The form a compiler producers before it emits machine code or runs on a virtual machine

How a language can work with dynamic types and provide information about a type while the code is executed.

An overview of types defined by their form instead of their name

A look at why seemingly simple UIs take a long time to update.

A quick introduction to how compilers use type information to convert types while evaluating expressions.