Paradigms in Programming

Short history of programming paradigms (draft)

Control flow paradigms

Non-structured

Based on

Concepts

Examples

Structured

Based on

Concepts

Examples

Data flow paradigms

Procedural

If you think this paradigm is over, you're wrong. Some new languages, like Go are a newer breed of this Paradigm.

Based on

Concepts

Examples

Object-Oriented (OOP)

Became mainstream paradigm since 1990 by historical accidence. Simula was created at the time when people where obsessed with physical simulations. Parallels between real-world objects and their program representations were too tempted to avoid. Simula was created as an ancestor of Algol which already had Lexical scoping (closure) but people did not sight how it may be useful at that moment. C++ inherited Simula and Java became a "better C++" establishing OO approach as a standard of thinking for a long period.

Object-Oriented programming is Procedural in disguise, stuffed with bad ideas like local state, classes, inheritance, etc.

Based on

Concepts

Points of interests

Examples

Older Functional

Concepts

Examples

Functional

Based on

Concepts

Points of interest

Examples

Logic

Based on

Concepts

Examples

Object-Oriented + Functional

Concepts

Examples

Functional + Object-Oriented

Concepts

Examples

Functional + Logic

Examples

Time flow paradigms

More commonly applied to libraries than to languages.

Interactive

Reactive

Concepts

Examples