Skip to content
Programming Paradigms Glossary

Programming Paradigms Glossary

Object-oriented, functional, reactive, aspect-oriented, declarative vs imperative — the fundamental programming paradigms explained.

Pages in this section

OOP (Object-Oriented Programming) — Explained with Examples

Object-oriented programming organizes code around objects containing data and behavior, using encapsulation, inheritance, polymorphism, and abstraction.

✓ Live

Functional Programming — Explained with Examples

Functional programming is a declarative paradigm that treats computation as the evaluation of pure functions, avoiding mutable state and side effects.

✓ Live

Reactive Programming — Explained with Examples

Reactive programming is a declarative paradigm centered on data streams and the automatic propagation of changes through those streams.

✓ Live

AOP (Aspect-Oriented Programming) — Explained with Examples

Aspect-oriented programming modularizes cross-cutting concerns like logging, security, and transactions by separating them from business logic.

✓ Live

Declarative vs Imperative Programming — Explained with Examples

Declarative programming expresses what the result should be, while imperative programming describes step-by-step how to achieve it.

✓ Live

Procedural Programming — Explained with Examples

Procedural programming structures code into reusable functions or procedures that operate on data through a sequence of step-by-step instructions.

✓ Live

Event-Driven Programming — Explained with Examples

Event-driven programming controls program flow through events, where event handlers or callbacks respond to user actions, messages, or system signals.

✓ Live

Metaprogramming — Explained with Examples

Metaprogramming is a technique where programs can read, generate, analyze, or transform other programs — including themselves — at compile or runtime.

✓ Live

Reflection — Explained with Examples

Reflection is a programming language feature that allows a program to inspect and modify its own structure and behavior at runtime.

✓ Live

Data-Driven Programming — Explained with Examples

Data-driven programming structures program logic around configuration data, tables, or rules rather than hard-coded conditional branches.

✓ Live

Prototype-Based Programming — Explained with Examples

Prototype-based programming achieves code reuse through object cloning and delegation, where objects inherit directly from other objects without classes.

✓ Live

Literate Programming — Explained with Examples

Literate programming reverses the traditional priority by writing programs primarily for human readers, with code embedded within explanatory prose.

✓ Live