InfoQ Homepage Compilers Content on InfoQ
-
Understanding Java through Graphs
Chris Seaton discusses Java’s compiler intermediate representation, to understand at a deeper level how Java reasons about a program when optimizing it.
-
The Rust Borrow Checker - a Deep Dive
Nell Shamrell-Harrington discusses how to transition from fighting the borrow checker to using its guidance to write safer and more powerful code at any experience level.
-
How the HotSpot and Graal JVMs Execute Java Code
James Gough discusses HotSpot, explores Graal and the JVM ecosystem to discover performance benefits of a platform 25 years in the making.
-
Build Your Own WebAssembly Compiler
Colin Eberhardt looks at some of the internals of WebAssembly, explores how it works ‘under the hood’, and looks at how to create a (simple) compiler that targets this runtime.
-
Tiny Go: Small Is Going Big
Ron Evans talks about TinyGo - a compiler for Go, written in Go itself, that uses LLVM to achieve very small, fast, and concurrent binaries that can also target devices where Go could never go before.
-
Understand the Trade-offs of Using Compilers for Java Applications
Mark Stoodley examines some of the strengths and weaknesses of the different Java compilation technologies, if one was to apply them in isolation.
-
Build Your Own WebAssembly Compiler
Colin Eberhardt looks at some of the internals of WebAssembly, explores how it works “under the hood”, and looks at how to create a (simple) compiler that targets this runtime.
-
Your Program as a Transpiler: Applying Compiler Design to Everyday Programming
Edoardo Vacchi discusses opportunities to apply programming language development techniques learned working with Drools and jBPM to a broader context.
-
Graal: How to Use the New JVM JIT Compiler in Real Life
Chris Thalinger discusses how to use Graal with JDK 10, how to compile an upstream Graal version, and what to look out for when using it for benchmarking or even in production.
-
Finding a Balance
David Nolen discusses some of the choices made working on ClojureScript.
-
WebAssembly (And the Death of JavaScript?)
Colin Eberhardt looks at what's wrong with the way people are using JavaScript today and why they need WebAssembly.
-
C++ for Real-Time Communications in the Cloud
Thiya Ramalingam talks about what Zoom’s platform engineers have learned over the years from running a complete C++ stack in their back-end service.