Language & Runtime Glossary
JIT, AOT, JVM, CLR, garbage collection, RAII, type systems, compiled vs interpreted — how programming languages and runtimes work under the hood.
Pages in this section
JIT Compilation — Explained with Examples
Just-in-time (JIT) compilation compiles source code or bytecode to native machine code at runtime, combining the speed of compiled code with the flexibility of interpretation.
✓ LiveAOT Compilation — Explained with Examples
Ahead-of-time (AOT) compilation translates source code to native machine code before execution, resulting in faster startup and predictable performance.
✓ LiveJVM (Java Virtual Machine) — Explained with Examples
The Java Virtual Machine executes Java bytecode across platforms, providing memory management, JIT compilation, and a security sandbox for running applications.
✓ LiveCLR (Common Language Runtime) — Explained with Examples
The Common Language Runtime (CLR) is the virtual machine component of .NET that manages execution of CIL bytecode with services like JIT and garbage collection.
✓ LiveV8 JavaScript Engine — Explained with Examples
V8 is Google's open-source JavaScript engine that powers Chrome and Node.js, featuring JIT compilation and efficient memory management.
✓ LiveGarbage Collection — Explained with Examples
Garbage collection automatically reclaims memory no longer used by a program, freeing developers from manual memory management and preventing leaks.
✓ LiveRAII (Resource Acquisition Is Initialization) — Explained with Examples
RAII is a C++ programming idiom where resource acquisition is tied to object lifetime, ensuring automatic cleanup when objects go out of scope.
✓ LiveStatic vs Dynamic Typing — Explained with Examples
Static typing checks variable types at compile time, while dynamic typing defers type checking until runtime, affecting safety, performance, and flexibility.
✓ LiveStrong vs Weak Typing — Explained with Examples
Strong typing enforces strict type rules and prevents implicit type conversions, while weak typing allows automatic coercion between unrelated types.
✓ LiveCompiled vs Interpreted Languages — Explained with Examples
Compiled languages translate source code to machine code before execution, while interpreted languages execute code line-by-line through an interpreter at runtime.
✓ LiveTranspiler — Explained with Examples
A transpiler (source-to-source compiler) converts code from one high-level language to another, enabling modern syntax on older platforms or cross-language migration.
✓ LivePolyfill — Explained with Examples
A polyfill is code that implements a modern browser feature in older environments that lack native support, ensuring consistent behavior across all users.
✓ Live