Les langages
1. Définition et rôle des
langages
En effet, on appelle langage de
programmation, en informatique, un ensemble de signes (ou symboles) et de règles
utilisés pour programmer les ordinateurs. La notion de règle est liée à la
syntaxe, alors que les symboles constituent l’alphabet du langage.
L’utilisateur
qui veut transmettre ses ordres à l’ordinateur le fait par l’intermédiaire de
langages de programmation. Ces derniers se situent en quelque sorte à mi-chemin
entre le langage naturel et le langage machine. En effet, ils sont suffisamment
proches des langages naturels pour que les programmes puissent être facilement
écrits, compris et modifiés.
2. Les caractéristiques des
langages de programmation
Les
langages de programmation partagent avec les langages naturels un certain
nombre de caractéristiques qui sont de trois ordres : lexicale, syntaxique
et sémantique.
1.1. Les caractéristiques
lexicales
Un
langage de programmation comprend généralement un certain nombre de symboles
constituant son alphabet.
En
plus de son alphabet, un langage de programmation comprend un certain nombre de
règles de nature lexicale. Celles-ci spécifient le mécanisme de formation des
mots du langage en question.
Dans
tout langage de programmation, on retrouve deux catégories de
mots :
-
Les mots
réservés (ou mots clés), sont définis par le langage et toute tentative
de redéfinition de la part de l’utilisateur donne lieu à des erreurs. À titre
d’exemple, on peut citer, en PASCAL, le mot BEGIN qui sert à indiquer le début
d’un bloc d’instructions et END qui en indique la fin.
-
Les identificateurs,
ce sont des mots choisis par le programmeur pour représenter un objet du programme,
conformément aux règles lexicales du langage.
1.2. Les caractéristiques
syntaxiques
Un
langage de programmation est aussi caractérisé par sa syntaxe. En
effet, même si tous les mots utilisés dans un programme sont individuellement
et lexicalement valides, les instructions qui en découlent ne le sont pas
nécessairement.
Tout
programme doit respecter la syntaxe du langage dans lequel il est écrit. On comprendra
dès lors que l’oubli d’un simple mot ou même d’un caractère dans une
instruction donne lieu à des erreurs.
1.3. Les caractéristiques
sémantiques
D’où
la nécessité pour un langage de programmation de recourir à des instructions
suffisamment significatives en regard des opérations à effectuer.
3. La classification des
langages de programmation
En
référence à leur proximité du langage naturel, les langages de programmation
sont répartis en deux catégories : les langages de bas niveau et les
langages de haut niveau.
1.4. Les langages de bas
niveau
Les
langages de bas niveau sont plus proches de la machine que de l’homme. Ils
regroupent les langages machines et les langages d’assemblage ou assembleurs.
·
Le
langage machine
À
l’origine, l’écriture d’un programme se faisait en langage machine, à partir
d’un alphabet binaire (0,1).
Ainsi,
le codage de n’importe quel programme simple se révélait une tâche fastidieuse.
Voici un
exemple :
000100000000 01011000
001100010000000000100100
000100000001 01010011
001100010000000000101000
000100000010 01010000
001100100001000001000000
Les langages
machines sont donc considérés comme des langages de programmation de
première génération. Ainsi le langage machine apparaît donc, de tous
les langages de programmation, comme celui qui est le plus difficile et le
moins expressif.
·
Le
langage d’assemblage
Pour pallier les
inconvénients du langage machine, on a eu recours au langage d’assemblage.
Le langage d’assemblage est une forme symbolique du langage machine au lieu du
numérique, le langage d’assemblage, fait appel à des noms symboliques de type
alphabétique pour désigner instructions en mémoire.
Voici le
programme équivalent :
LDA X (Charger le
nombre X dans la cellule A)
ADD Y (Ajouter le nombre Y au contenu
de cette cellule)
STA Z (Sauvegarder le résultat
dans la cellule Z)
Les langages
d’assemblage constituent la seconde génération des langages de
programmation.
1.5. Les langages de haut
niveau
Les multiples
inconvénients des langages de bas niveau ont amené les spécialistes de
l’informatique à définir une autre catégorie de langages plus proches du
langage humain: ce sont les langages de haut niveau ou de troisième
génération. Parmi les langages évolués les plus utilisés actuellement,
on peut citer : FORTRAN, PASCAL, COBOL
et C. Pour ce qui est des langages spécialisés, mentionnons SIMULA et LISP etc.
4. Les types de
programmation
En plus de leur
proximité du langage naturel, une autre façon de classifier les langages
consiste à les regrouper selon le type de programmation qu’ils permettent de
réaliser. Ce qui nous amène à distinguer la programmation procédurale, la
programmation fonctionnelle, la programmation logique et la programmation par
objets.
2.1. La programmation
procédurale
La programmation
procédurale, comme son nom l’indique, est étroitement liée à la notion de
procédure. On appelle procédure toute séquence d’instructions, auquel on donne
un nom, et dont l’exécution peut être demandée de plusieurs endroits d’un
programme appelant.
Les langages les
plus populaires actuellement dans l’industrie sont de type procédural. On peut
citer, entre autres, FORTRAN, COBOL, PASCAL et C.
2.2. La programmation
fonctionnelle
La programmation
fonctionnelle consiste à utiliser des langages dont la structure et la syntaxe
reposent sur les concepts mathématiques de fonction et de composition de
fonctions. Les langages
LOGO et LISP en sont des exemples.
Quant aux
langages fonctionnels, ils sont dotés d’une grande capacité de traitement
symbolique. D’où leur adéquation à résoudre les problèmes d’intelligence
artificielle où la manipulation porte sur des données symboliques plutôt que
numériques.
2.3. La programmation logique
Toujours à la
recherche de techniques informatiques plus rigoureuses et plus puissantes pour
manipuler des connaissances, l’intelligence artificielle en est venue à
utiliser la logique comme langage de programmation, ce qui a conduit à un nouveau
type relativement simplifié de programmation, baptisé à juste titre
programmation logique. Le langage PROLOG, en demeure le plus authentique
représentant.
2.4. La programmation par
objets
La programmation
par objets, comme son nom l’indique, repose sur la notion d’objet.
On désigne par
objet une structure de connaissances constituée d’un certain nombre d’aspects
ou d’attributs. Par exemple, un objet Employé peut admettre pour attributs Nom, Sexe, Âge, Adresse, Profession et Numéro. De plus, à chaque aspect on peut associer
des facettes telles que valeurs-possibles qui définissent le domaine des
valeurs que peut prendre cet aspect, ou valeurs-défaut qui spécifie la valeur
par défaut de celui-ci. Ainsi, on peut attribuer à Âge la valeur par défaut 22.
SMALLTALK est le premier véritable langage orienté
objet qui a été mis au point. De très nombreux langages faisant explicitement
référence aux mêmes concepts sont disponibles ou apparaissent actuellement. On
peut citer, entre autres, C++, VISUAL BASIC et PASCAL
OBJET.