Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.
[…]
Some common programming paradigms are,
- imperative [Imperative programming] in which the programmer instructs the machine how to change its state,
- procedural [Procedural programming] which groups instructions into procedures,
- object-oriented [Object-oriented programming] which groups instructions with the part of the state they operate on,
- declarative [Declarative programming] in which the programmer merely declares properties of the desired result, but not how to compute it
- functional [Functional programming] in which the desired result is declared as the value of a series of function applications,
- logic [Logic programming] in which the desired result is declared as the answer to a question about a system of facts and rules,
- mathematical [Mathematical programming] in which the desired result is declared as the solution of an optimization problem
- reactive [Reactive programming] in which the desired result is declared with data streams and the propagation of change
(“Programming Paradigm” 2023)