Glossaire

Pour chaque mot de ce glossaire on indique par la notation Général si il s'agit d'un concept général dans le domaine des langages de programmation, par Matériel si il s'agit d'un concept du domaine de l'architecture des machines, et par Jargon C si il s'agit d'un particularisme du langage C. Derrière cette indication, nous donnons le mot anglais utilisé pour désigner ce concept.

adresse
Matériel ; Anglais : address. La mémoire d'une machine est formée d'une suite d'éléments mémoires. L'adresse d'un élément est son rang dans la suite. Voir aussi : élément mémoire.

affectation
Général ; Anglais : assignment. Opération qui a pour but de stocker une valeur dans la case mémoire correspondant à une variable. L'affectation est généralement réalisée par une instruction, dans le langage C, elle est réalisée par un opérateur.

bloc
Général ; Anglais : block. Construction d'un langage qui permet de regrouper des déclarations et des instructions.

booléen
Général ; Anglais : boolean. type dont l'ensemble des valeurs est formé des valeurs vrai et faux.

chaîne de caractères
Général ; Anglais : string. Suite contiguë en mémoire de caractères.

champ
Général ; Anglais : field. Un élément d'un enregistrement.

champ de bits
Jargon C ; Anglais : bit field. Un champ de structure C dont la taille est donnée en nombre de bits.

compilation séparée
Général ; Anglais : separate compilation. Technique qui consiste à découper les gros programmes en différentes unités de compilation pour en maîtriser la complexité. Les différentes unités sont compilées séparément, et un éditeur de liens est chargé de transformer les modules objets en programme exécutable.

complément à 2
Matériel ; Anglais : 2's complement. Le complément à 2 est une méthode de représentation des nombres signés. Les nombres positifs sont représentés en base 2. Sur 8 bits, la représentation de la valeur 6 est 00000110 et celle de 10 est 00001010. Pour les nombres négatifs, on part de la valeur absolue que l'on représente en binaire, on la complémente bit à bit et on additionne 1. Sur 8 bits, la représentation de -6 est 11111010 et celle de -10 est 11110110

déclaration
Général ; Anglais : declaration. Construction qui associe un identificateur et une entité du langage. Il y a des déclarations de variable, de type, de procédure, de fonction. L'identificateur est un nom pour l'entité déclarée.

durée de vie
Général ; Anglais : lifetime. Concept qui s'applique aux variables. La durée de vie d'une variable est le temps qui s'écoule entre le moment où on alloue de la mémoire pour cette variable, et le moment où on récupère la mémoire allouée. Il existe classiquement trois types de durée de vie :
-
durée de vie du programme : la variable est créée au chargement du programme et détruite à la fin du programme. Une telle variable est dite statique.
-
durée de vie d'un bloc : la variable est créée quand on entre dans le bloc et détruite quand on en sort. Une telle variable est qualifiée de dynamique.
-
durée de vie programmée : la variable est créée et détruite par des ordres explicites du programmeur. Une telle variable est qualifiée de dynamique.
Voir aussi : pile, tas, statique, dynamique.

effet de bord
Général ; Anglais : side effect. Modification de l'état de la machine. Un effet de bord peut être interne au programme (par exemple, modification de la valeur d'une variable) ou externe au programme (par exemple écriture dans un fichier). Toute partie de programme qui n'est pas déclarative a pour but soit de calculer une valeur, soit de faire un effet de bord. Voir aussi : procédure, fonction.

élément mémoire
Matériel ; Anglais : storage unit. Une fraction de la mémoire accessible en une seule instruction machine. Une machine comporte généralement au moins trois types d'éléments mémoire : un élément permettant de stocker un caractère, et un élément permettant de stocker un entier, et un élément permettant de stocker un flottant.

enregistrement
Général ; Anglais : record. Type défini par l'utilisateur permettant de regrouper en une seule entité, des variables de types différents. Au sein de l'enregistrement, les variables sont identifiées par un nom.

ensemble
Général ; Anglais : set. Le concept mathématique d'ensemble. Certains langages l'offrent (Pascal, Modula-2), d'autres pas (Algol, C, Ada).

évaluation
Général ; Anglais : evaluation. Ce concept s'applique à une expression. Évaluer une expression c'est calculer sa valeur. Voir aussi : évaluation court-circuit.

évaluation court circuit
Général ; Anglais : short circuit evaluation. Se dit d'une évaluation qui n'évalue pas tous les opérandes. Par exemple, dans le langage C, l'opérateur && évalue d'abord son opérande gauche, si celui-ci est faux, il n'y aura pas d'évaluation de l'opérande droit.

fonction
Général ; Anglais : function. Possède en commun avec la procédure d'associer un nom à un traitement algorithmique, mais la caractéristique d'une fonction est de délivrer une valeur utilisable dans une expression. Les langages de programmation permettent généralement aux fonctions, en plus du fait de retourner une valeur, de faire un ou plusieurs effets de bord. Voir aussi : procédure.

identificateur
Général ; Anglais : identifier. Synonyme de nom. Dans le domaine des langage de programmation, on parle d'identificateur pour dire nom.

initialisation
Général ; Anglais : initialization. opération consistant à donner une valeur initiale à une variable. Il y a deux types d'initialisation : les initialisations statiques (à la déclaration de la variable) et les initialisations dynamiques (réalisées par des instructions).

membre
Jargon C ; Anglais : member Le mot utilisé en C pour dire champ (d'un enregistrement).

mot-clé
Général ; Anglais : keyword. Un mot dont la signification est fixée par le langage, par opposition aux identificateurs qui sont librement choisis par le programmeur.

objet
Général ; Anglais : object. Voir source.

paramètre effectif
Général ; Anglais : effective parameter ou argument. La valeur qui est passée en paramètre à la fonction.

paramètre formel
Général ; Anglais : formal parameter ou parameter. Le nom d'un paramètre dans la déclaration d'une procédure ou fonction.

passage de paramètre
Général ; Anglais : parameter passing. Technique de communication de paramètre entre l'appelant et une procédure ou fonction appelée. Il existe diverses façons de passer les paramètres dont les plus utilisées sont le passage par valeur et le passage par adresse. Le langage C n'utilise que le passage par valeur.

pile
Général ; Anglais : stack. Dans un langage récursif, les variables locales à une procédure doivent être allouées dans une pile, car à un moment donné il peut y avoir plusieurs activations en cours de la même procédure, et donc plusieurs instanciations des variables de la procédure. Voir aussi : durée de vie, tas.

pointeur
Général ; Anglais : pointer. Type dont les valeurs possibles sont des adresses de variable.

portée
Général ; Anglais : scope. Ce concept s'applique aux identificateurs. La portée d'un identificateur est la partie du programme où l'ensemble des occurences d'un identificateur font référence à la même déclaration. Ce sont les blocs qui permettent de limiter la portée d'un identificateur.

procédure
Général ; Anglais : procedure. Permet d'associer un nom à un traitement algorithmique. La procédure est la brique de base de la construction de programme. Le but d'une procédure est de réaliser au moins un effet de bord (sinon elle ne sert à rien).

récursivité
Général ; Anglais : recursivity. Une fonction ou procédure est dite récursive si elle s'appelle elle-même. Les langages les plus anciens (Fortran 77, Cobol) ne permettent pas la récursivité, mais a peu près tous les langages modernes l'autorisent (Pascal, C).

source
Général ; Anglais : source. Forme du programme écrit en langage de programmation. Par opposition à objet qui est la forme du programme une fois traduit en instructions machines. Entre la source et l'objet, la sémantique est conservée, seule la forme change.

structure
Jargon C ; Anglais : structure. Synonyme d'enregistrement.

surchargement
Général ; Anglais : overloading. Un symbole est dit surchargé quand sa sémantique dépend du contexte. Dans le langage C, le surchargement des opérateurs est une véritable plaie : * est à la fois opérateur d'indirection et de multiplication, & est à la fois opérateur ``adresse de '' et ``and bit à bit'', etc ...

tas
Général ; Anglais : heap. Zone de la mémoire où sont effectuées les allocations dynamiques de variables explicitement demandées par le programmeur. Dans le langage C, les allocations et les libérations dans le tas se font par des fonctions de la bibliothèque standard : calloc et malloc pour les allocations, free pour les libérations. Voir aussi : durée de vie, pile.

type
Général ; Anglais : type. Attribut d'une variable qui détermine l'ensemble des valeurs que peut prendre cette variable et les opérateurs qu'on peut lui appliquer.

type de base
Général ; Anglais : basic type. type qui est connu du langage, par opposition aux types définis par le programmeur. Classiquement, les types de base sont booléen, caractère, entier, flottant. Le langage C90 n'a pas le type booléen, mais ce type existe en C99.

type défini par le programmeur
Général ; Anglais : user-defined type. (On n'a pas inventé de nom pour ce concept : il est désigné par une périphrase.) À partir des types de base, le programmeur peut construire de nouveaux types : tableau de type, pointeur vers type, etc ...

type entier
Jargon C ; Anglais : integral type. Regroupe les types suivants :
-
les char
-
toutes les variétés de int : signés, non signés, longs ou courts.
-
les types énumérés (définis par enum).

type flottant
Jargon C ; Anglais : floating type. Regroupe les float, double et long double.

unité de compilation
Général ; Anglais : compilation unit. Un des fichiers source composant un programme développé selon la technique de la compilation séparée. Voir aussi : compilation séparée.

variable
Général ; Anglais : variable. Une abstraction du concept d'élément mémoire.

variable globale
Général ; Anglais : global variable. Variable déclarée à l'extérieur de toute procédure ou fonction. Les variables globales sont accessibles par toutes les procédures et fonctions.

variable locale
Général ; Anglais : local variable. Variable déclarée à l'intérieur d'une procédure ou fonction. Les variables locales sont inaccessibles à l'extérieur de la procédure ou fonction dans laquelle elles sont déclarées.

Matthieu Moy 2017-02-08