Exploring the JVM with Python

yum (~yummyweb)


1

Vote

Description:

We will implement a simple JVM in Python which by the end of the talk, will be able to run a “Hello, World!” java program. To accomplish this task, we will use the Oracle JVM documentation and go through the documentation step-by-step. First, we build the parser. We will parse the java bytecode class file, understanding it’s structure along the way. Then we will try and interpret the raw instructions using the instruction set manual, and by the end, a fully functioning Hello World JVM. To build on what you learn in this talk, you could apply these skills and try and implement other such virtual machines like the CPython virtual machine, simply by going through the documentation.

Takeaways:

  • A new found appreciation for the JVM.
  • Being able to understand those annoying classfiles that are generated each time you run a Java program.
  • Improve your documentation comprehension skills.

This talk is for:

  • Those who want to learn about Java internals.
  • Beginner programmers who want to explore core Python.
  • Anyone in between!

Talk Outline:

  • Understanding JVM basics: 5 mins
  • Implementing the parser: 15 mins
  • Implementing the instruction set: 10 mins
  • Testing: 1 min

Prerequisites:

  • Basic python programming constructs (variables, loops, conditionals etc.)
  • Being familiar with a terminal shell
  • That's all!

Speaker Info:

Antariksh Verma is a recent high school graduate with over 5 years of industry experience from blockchain and cryptocurrency to artificial intelligence and consumer software. He previously spoke at PyCon 2020 about using Python for web programming. His academic interests lie at the intersection of physics, mathematics and computer science. He is currently a developer ambassador at Cudos, and formerly a member of the core team at Meet With Wallet.

Speaker Links:

GitHub: https://github.com/yummyweb/

Stack Overflow: https://stackoverflow.com/users/12805063/yum

Section: Core Python
Type: Talk
Target Audience: Beginner
Last Updated: