Langage de programmation - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Principaux paradigmes

Chaque langage de programmation est différent. Une solution exprimée dans un certain langage peut « ressembler » à une solution exprimée dans un autre langage ; dans ce cas, on dit que les langages utilisent le même paradigme (ou style). Deux programmes fournissant la solution au même problème,mais écrits avec des paradigmes différents seront fondamentalement très différents.

De nombreux langages appartiennent simultanément à plusieurs catégories : ils sont dits « multi-paradigmes ». Par exemple, C++ permet la programmation impérative, orientée objet et la programmation générique (à base de classes et de fonctions paramétrées nommées templates). Common Lisp est à la fois impératif, fonctionnel, orienté objet ; son caractère « programmable » (un langage de programmation programmable…) lui permet d'intégrer d'autres « paradigmes » de programmation en son sein (par exemple : la programmation logique et la programmation par contraintes).

Langages impératifs et procéduraux

On distingue deux types de langages impératifs. D'une part les langages machines et assembleurs. Ceci explique que les premiers langages de programmation apparus soient des langages impératifs : une instruction du langage correspond à un ensemble d'instructions du langage machine. Les structures de données et opérations sont plus complexes qu'au niveau de la machine, mais le paradigme suivi reste le même.

Les langages procéduraux forment la seconde famille de langages impératifs. Une procédure, appelée également fonction, est une suite d'instructions devant être effectuée dans un ordre précis. On distingue parfois procédure et fonction par la caractéristique qu'une procédure ne renvoie pas de résultat.

Parmi les langages impératifs figurent COBOL, Fortran, Pascal ou encore le C.

Langages déclaratifs

Un langage déclaratif ne décrit pas comment est réalisée une opération, comme dans un langage impératif, mais décrit le problème lui-même, sans s'intéresser au contexte.

Figurent parmi les langages déclaratifs Oz, Prolog ou encore Clips.

Langages logiques

Un programme logique est composé de faits et de règles qui sont traités par un moteur d'inférence.

Prolog fut le premier langage de ce type à être fonctionnel sur un ordinateur.

Langages fonctionnels

Dans ce paradigme, l'opération de base n'est pas l'affectation, contrairement aux langages impératifs, mais l'évaluation de fonctions. Ce paradigme est donc principalement efficace pour modéliser des problèmes qui s'expriment par des valeurs de données, comme en mathématiques, et non pas des états qui changent au cours de l'exécution.

Certains langages fonctionnels, dit « purs », interdisent totalement les effets de bord, tels que la mutation des données où une variable est liée à une valeur non modifiable. D'autres, intègrent certains traits des langages impératifs où les variables peuvent changer de valeur au cours de l'exécution.

Quelques exemples de langages fonctionnels : Objective Caml (langage fonctionnel et impératif), Haskell (langage fonctionnel pur à évaluation paresseuse), Python (propose certaines fonctionnalités du style fonctionnel comme l'utilisation de fonctions lambda ou la compréhension de listes).

Langages à pile

Ces langages ne manipulent que des piles de données où les opérations sont effectuées sur les éléments du sommet d'une ou plusieurs piles.

Des exemples typiques sont les langages Forth, Factor, PostScript, Joy, Cat ou RPL (HP 48).

Langages à objets

Les langages à objets offrent un abstraction à la machine : l'objet est une structure sémantique indépendante qui rassemble des données et des traitements.

En se basant sur une méthode de conception à objet et sur un langage de modélisation à objet, on peut facilement implanter un concept au moyen d'un langage de programmation à objets.

Parmi les langages à objets sont généralement classés Ruby et Smalltalk, purement objet, c'est-à-dire que tout est objet, depuis les types de base, jusqu'à l'interprète ou les blocs d'instructions ; le C++, extension de C permettant d'utiliser des objets mais où tout n'est pas objet ; Python, très orienté objet mais qui ne respecte pas tous les principes de la programmation objet comme l'encapsulation.

Page générée en 0.007 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise