This session contrasts, in extreme detail, the Java Virtual Machine (JVM) and WebAssembly (Wasm).
Intent & Bytecode Adaptations: We discuss the intent behind the JVM and Wasm. The JVM was designed for Java, but later expanded to other languages. Conversely, Wasm was designed for multiple languages from the start. We'll analyze how these intentions influenced adaptations across different languages.
Bytecode, Implementation, Control Flow: Nuanced technical details of each platform's structure will be explored. E.g., Though the JVM is a stack-based VM, Wasm uses a structured stack machine model. We'll consider the implications of both, as well as many other technical aspects of each technology.
Standardization Processes: The JVM’s specification is managed by Oracle, with Java Community Process input. Wasm is a W3C open standard. We'll examine stakeholders and incentives driving these systems' evolution.
Future of WebAssembly: We'll discuss upcoming Wasm proposals, including the Component Model and Garbage Collection, and the development of new runtimes, extending Wasm’s reach far beyond the browser.
JVM and Universal Compilation: We'll tackle the common assertion that Wasm is "just the JVM again" and explore why the JVM didn't become a widely-accepted universal compilation target and how Wasm has learned from these challenges.
Our goal is to enhance understanding of the JVM and Wasm, enabling informed decisions and clearer perspectives on these technologies' futures.
Shivansh Vij
Loophole Labs
Shivansh Vij is the Founder and CEO of Loophole Labs, where he is actively focused creating new developer primitives by leveraging new technologies such as WebAssembly. He is a long-time open-source contributor and started his career building various container orchestration platforms as well as designing some of the first service meshes.