Paradigme (programmation)


Paradigme (programmation)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Paradigme (homonymie).

Un paradigme de programmation est un style fondamental de programmation informatique qui traite de la manière dont les solutions aux problèmes doivent être formulées dans un langage de programmation (à comparer à la méthodologie, qui est une manière de résoudre des problèmes spécifiques de génie logiciel).

Utilisation

Un paradigme de programmation fournit (et détermine) la vue qu’a le développeur de l’exécution de son programme. Par exemple, en programmation orientée objet, les développeurs peuvent considérer le programme comme une collection d’objets en interaction, tandis qu’en programmation fonctionnelle un programme peut être vu comme une suite d'évaluations de fonctions sans états. Lors de la programmation d’ordinateurs ou de systèmes multi-processeurs, la programmation orientée processus permet aux développeurs de voir les applications comme des ensembles de processus agissant sur des structures de données localement partagées.

De la même manière que des courants différents du génie logiciel préconisent des « méthodologies » différentes, des langages de programmation différents plaident pour des « paradigmes de programmation » différents. Certains langages sont conçus pour supporter un paradigme en particulier (Smalltalk et Java supportent la programmation orientée objet, tandis que Haskell supporte la programmation fonctionnelle) alors que d’autres supportent des paradigmes multiples (à l’image de C++, Common Lisp, OCaml, Oz, Python, Ruby ou Scheme).

De nombreux paradigmes de programmation sont aussi célèbres pour les techniques qu’ils prohibent que pour celles qu’ils permettent. La programmation fonctionnelle pure, par exemple, interdit l’usage d’effets de bord ; la programmation structurée interdit l’usage du goto. En partie pour cette raison, les nouveaux paradigmes sont souvent considérés comme doctrinaires ou abusivement rigides par les développeurs habitués aux styles déjà existants. Cependant, le fait d’éviter certaines techniques peut permettre de rendre plus aisée la démonstration de théorèmes sur la correction d’un programme — ou simplement la compréhension de son fonctionnement — sans limiter la généralité du langage de programmation. De plus, il est possible d'écrire un programme en adoptant la programmation orientée objet même si le langage, par exemple le langage C, ne supporte pas ce paradigme.

La relation entre les paradigmes de programmation et les langages de programmation peut être complexe, car un langage de programmation peut supporter des paradigmes multiples. Pour citer un exemple, C++ est conçu pour supporter des éléments de programmation procédurale, de programmation orientée objet et de programmation générique. Cependant, concepteurs et développeurs décident de la méthode d’élaboration d’un programme en utilisant ces éléments de paradigmes. Il est possible d’écrire un programme purement procédural en C++, comme il est possible d’en écrire un purement orienté objet, ou encore qui relève des deux paradigmes.

Exemples

Les paradigmes de la liste sont regroupés par grandes familles.

Types de programmation impérative (et dérivés)
Types de programmation orientée objet (et dérivés)
Types de programmation déclarative (et dérivés)
Autres types
  • Programmation fonctionnelle, avec laquelle un programme est une fonction au sens mathématique du terme
  • Programmation événementielle, consistant à répondre à des événements
  • Programmation interruptible, à comparer à la programmation événementielle
  • Programmation concurrente, où l’on tient compte de l’exécution en parallèle de plusieurs piles sémantiques
  • Programmation orientée aspect (comme en AspectJ)
  • Programmation par contrat, dans lequel le déroulement des traitements est régi par des règles (comme en Eiffel)
  • Programmation chimique, où les programmes sont vus comme des solutions chimiques abstraites. Les données sont des molécules dont les réactions chimiques représentent les opérations.
  • Programmation orientée agent, souvent basée sur la programmation orientée objet, qui simplifie le développement d’agents logiciels
  • Programmation orientée concept
  • Programmation orientée pile (comme en Forth)
  • Programmation orientée principes
  • Programmation orientée flux de données, souvent utilisée pour les solutions de communication client/serveur, elle permet d'abstraire les différents plateformes en se concentrant sur l'échange et le traitement des données. Elle est généralement représentée sous forme de diagrammes ou de graphes (voir Diagramme de flux de données) (comme dans un Tableur)
  • Programmation non-déterministe
  • Programmation orientée sujet
  • Programmation réactive
  • Programmation synchrone
  • Programmation par annotations (comme en langage Flare)
  • Programmation par attributs (comme avec les annotations Java, pré-traitées par la classe XDoclet, ou avec les attributs C#)
  • Programmation sur flux, à comparer à la Programmation sur événement
  • Programmation par messages, à comparer à la programmation impérative
  • Programmation orientée processus, pour la programmation parallèle
  • Programmation récursive, à comparer à la programmation itérative
  • Programmation réflexive
  • Programmation scalaire, à comparer à la programmation par tableaux
  • Programmation au niveau valeur, à comparer à la programmation au niveau fonction

Notes et références



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Paradigme (programmation) de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Paradigme de programmation — Paradigme (programmation) Pour les articles homonymes, voir Paradigme (homonymie). Un paradigme de programmation est un style fondamental de programmation informatique qui traite de la manière dont les solutions aux problèmes doivent être… …   Wikipédia en Français

  • Programmation — informatique Pour les articles homonymes, voir Programmation (homonymie). La programmation dans le domaine informatique est l ensemble des activités qui permettent l écriture des programmes informatiques. C est une étape importante de la… …   Wikipédia en Français

  • Programmation par intention — Traduction à relire Intentional programming → …   Wikipédia en Français

  • Paradigme — Pour les articles homonymes, voir Paradigme (homonymie). Universum, C. Flammarion, gravure sur bois, Paris 1888 Un paradigme est une représentation du monde, une manière d …   Wikipédia en Français

  • Programmation informatique — Pour les articles homonymes, voir Programmation (homonymie). La programmation dans le domaine informatique est l ensemble des activités qui permettent l écriture des programmes informatiques. C est une étape importante de la conception de… …   Wikipédia en Français

  • Paradigme (homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. paradigme est un nom commun qui peut se référer à : en linguistique : voir Paradigme (linguistique) en informatique : voir Paradigme… …   Wikipédia en Français

  • Programmation objet — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Programmation orientee objet — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Programmation à objets — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Programmation imperative — Programmation impérative En informatique, la programmation impérative est un paradigme de programmation qui décrit les opérations en termes de séquences d instructions exécutées par l ordinateur pour modifier l état du programme. Sommaire 1… …   Wikipédia en Français