Writing a virtual machine
I stumbled upon a tutorial to write a VM (virtual machine) some time ago and I thought it would be interesting to try it for myself. The introduction outlines a relevant point: creating a VM introduces more abstraction from the machine, which has a complexity and cognitive cost, borne by the programmer. Yet, writing this simple virtual machine also lets us take a peek into what a computer does under the hood as well as build a useful mental model about machines' internals....