Skip to content
Language & Runtime Glossary

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.

✓ Live

AOT 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.

✓ Live

JVM (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.

✓ Live

CLR (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.

✓ Live

V8 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.

✓ Live

Garbage Collection — Explained with Examples

Garbage collection automatically reclaims memory no longer used by a program, freeing developers from manual memory management and preventing leaks.

✓ Live

RAII (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.

✓ Live

Static 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.

✓ Live

Strong 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.

✓ Live

Compiled 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.

✓ Live

Transpiler — 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.

✓ Live

Polyfill — 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