Table of Contents
Fetching ...

Pourquoi existe-t-il de nombreux paradigmes de programmation ?

Oscar Plaisant, Max Lemoine

TL;DR

The paper investigates why there are many programming paradigms despite the formal equivalence of Turing-complete languages. It defines paradigms, analyzes formal and practical expressivity, and discusses trade-offs between expressivity and analyzability, showing how different paradigms suit learning, problem solving, and problem modeling. It surveys core paradigms (imperative, declarative, functional, structured, concurrent) and highlights multiparadigm languages and the creative extension principle as a means to generate new paradigms. The work argues that paradigms are essential thinking tools that facilitate teaching, thinking, and solving a wide range of problems, and it advocates leveraging diverse paradigms to address evolving computational challenges.

Abstract

There are a lot of different programming paradigms. Since all Turing-complete programming languages are formally equivalent (they have the same ability to express any computable problem), the existence of so many different paradigms may seem surprising, even pointless. In this article, we will try to understand why there are so many different paradigms. We will start with a definition of what a programming paradigm is, then show how different paradigms are better suited for different applications: learning, solving or expressing certain types of problems, and more generally for the features brought by each paradigm.

Pourquoi existe-t-il de nombreux paradigmes de programmation ?

TL;DR

The paper investigates why there are many programming paradigms despite the formal equivalence of Turing-complete languages. It defines paradigms, analyzes formal and practical expressivity, and discusses trade-offs between expressivity and analyzability, showing how different paradigms suit learning, problem solving, and problem modeling. It surveys core paradigms (imperative, declarative, functional, structured, concurrent) and highlights multiparadigm languages and the creative extension principle as a means to generate new paradigms. The work argues that paradigms are essential thinking tools that facilitate teaching, thinking, and solving a wide range of problems, and it advocates leveraging diverse paradigms to address evolving computational challenges.

Abstract

There are a lot of different programming paradigms. Since all Turing-complete programming languages are formally equivalent (they have the same ability to express any computable problem), the existence of so many different paradigms may seem surprising, even pointless. In this article, we will try to understand why there are so many different paradigms. We will start with a definition of what a programming paradigm is, then show how different paradigms are better suited for different applications: learning, solving or expressing certain types of problems, and more generally for the features brought by each paradigm.

Paper Structure

This paper contains 35 sections, 2 figures.

Figures (2)

  • Figure 1:
  • Figure 2: Taxonomie des paradigmes de programmation TaxonomiePrincipauxParadigmes

Theorems & Definitions (3)

  • Definition 1
  • Definition 2
  • Definition 3