PRATIQUE ALGO/METHODES 
Expliquez-moi... Les paradigmes, pour une classification des langages de programmation
 
En définissant les limites de fonctionnement d'un langage, un paradigme offre au programmeur une meilleure visualisation de son comportement, et de sa logique de développement. (07/11/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

En épistémologie, un paradigme décrit la théorie dominante dans un certain contexte, par lequel découles ses explications et ce que l'on peut en faire. Le terme s'applique également à l'informatique, où nombre de paradigmes de programmation ont été conçus depuis le premier langage, dans le but de proposer des modèles auxquels se référencer pour désigner un langage ou un type de langage.

L'informatique recèle ainsi de paradigmes, pour offrir un exemple sur lequel se baser afin de décrire un contexte ou un langage. On a par exemple le paradigme Objet, qui dispose de C++ et Java pour exemples de base, ou le paradigme MVC dont le champion actuel semble être Ruby on Rails.

Non content de permettre au développeur de classer un langage, un paradigme fournit à celui-ci une manière rapide de déterminer le mode de fonctionnement du langage, et le mode de pensée à adopter quand on l'utilise. Ainsi, le paradigme Objet impose de penser son code sous forme d'objets travaillant ensemble, tandis le paradigme de la programmation fonctionnelle commande une vision du code sous forme d'une succession de fonctions (dans le sens mathématique du terme).

Un paradigme n'est donc pas tant une "case" dans laquelle ranger un langage, ou une méthode de programmation, qu'une manière d'inscrire une réflexion dans un modèle théorique, et de mieux visualiser le fonctionnement du langage. Le paradigme dicte la réflexion menant à la programmation, et plus prosaïquement le style de programmation.

L'idée du paradigme/case est par ailleurs réfutée par le fait qu'un langage peut faire appel à plusieurs paradigmes. Là où Java semble limité à l'Objet, C++ reconnaît l'Objet, le procédural et le générique. L'ancêtre Ada en disposait de cinq : distribué, générique, impératif, Objet et concurrentiel.

La plupart des langages populaires actuels combinent deux ou trois paradigmes, généralement au moins deux (l'impératif et l'Objet - comme pour PHP), parfois le fonctionnel en plus (Python, Perl, Tcl, JavaScript et dérivés). Ruby, de son côté, en ajoute un quatrième, qui prend de l'importance à l'heure actuelle : le concurrentiel.

Autre paradigme ayant le vent en poupe actuellement : MVC, pour modèle-vue-contrôleur, recommande la séparation nette des couches de l'application. Popularisé par le framework Struts, ce paradigme est également au cœur du développement ASP.Net et WinForms, Ruby on Rails, et de la plupart des outils de modèle comme le Smarty de PHP.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page