Programming Paradigms

A beginner-friendly overview of the main programming paradigms, including Functional Programming based on Lambda Calculus.

Procedural Programming

Idea: A program is a sequence of step-by-step instructions.

Common languages: C, Pascal

int x = 5;
x = x + 1;

Object-Oriented Programming (OOP)

Idea: A program is built from interacting objects.

Common languages: Java, C++, Python

class Car {
  void drive() {}
}

Functional Programming

Idea: A program is a composition of mathematical functions.

Common languages: Haskell, Lisp, Scala basic syntax , Python (partially)

f = lambda x: x + 1
f(5)

Declarative Programming

Idea: Describe what you want, not how to do it.

Examples: SQL, HTML, CSS

SELECT * FROM users WHERE age > 18;

Logic Programming

Idea: Programs are written as facts and rules.

Common language: Prolog

Event-Driven Programming

Idea: The program reacts to events.

Examples: Web apps, GUIs, games, VR systems

Concurrent and Parallel Programming

Idea: Multiple computations happen at the same time.

Common languages: Java, Go, Python