Skip to content

Python Monthly Meeting (COhPy)

Photo of Eric Floehr
Hosted By
Eric F.
Python Monthly Meeting (COhPy)

Details

This month, Zak Kohler will be presenting "Computer hardware from opcodes to IO: Build a Virtual Machine in Python".

Programming languages are designed for a specific level of abstraction or distance from the hardware. The main trade off is "developer productivity" vs "control over hardware". C and assembly are low level and therefore map closely to CPU instructions. Python on the other hand goes through many layers, libraries, and a virtual machine before the CPU is reached. This allows powerful programs to be written concisely and cross-platform—but it also leaves an immense "Magic Valley" of faith. Eliminating the magic can lead to interesting insights and a greater appreciation for the subtleties of performance, quirks of legacy compatibility, and the purpose of operating systems.

We will build up a virtual machine in Python, and I will connect these concepts to concrete hardware details as they naturally emerge.

Guaranteed material: opcodes, CPU, data/address bus, ROM/RAM, and IO.

Bonus material: assemblers, interrupts, tty output.

Afterwards we'll be heading to Brazenhead on 5th in Grandview.

Photo of TechLife Columbus group
TechLife Columbus
See more events
580 North 4th Street · Columbus, OH