Glossary
Un article de SmartEiffelWiki, l'encyclopéde libre.
Glossaire des termes utilisés dans le grand livre
Avertissement : quand un terme a plusieurs significations différentes, la priorité est donnée à la signification du terme dans le contexte qui nous intéresse, le contexte informatique d'Eiffel et de la conception/programmation par objets/contrats.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
A
attribut : un attribut fait partie de l'information mémorisée qui concerne un objet particulier. Autrement dit, utiliser l'attribut d'un objet n'implique pas de perte de temps en calculs. Un attribut est soit constant, soit variable. Quand on parle d'un attribut variable, cela équivaut à dire variable d'instance.
B
back-end : il s'agit de la partie finale d'un compilateur qui, après que toutes les classes ont été analysées et qu'aucune erreur n'a été détectée, produit l'exécutable qui effectue les opérations décrites par le programme.
SmartEiffel fournit deux back-ends : un back-end C et un back-end Java.
bibliothèque : une bibliothèque de programmes est un ensemble de classes destinée à faciliter un traitement particulier ou à fournir des objets utiles à tous. La bibliothèque fournie avec SmartEiffel est très riche et propose bien sûr tous les objets élémentaires usuels (INTEGER, CHARACTER, STRING, REAL, etc.), toutes les structures de données habituelles ((COLLECTION, SET, DICTIONARY, QUEUE, STACK, etc.), etc.
C
contravariance : par opposition à covariance, on dit qu'un langage applique la règle de contravariance si, dans le cas d'une redéfinition de méthode, le type les arguments ou le type du résultat peuvent être remplacé par un type plus général. Eiffel n'applique pas la règle de contravariance, Eiffel applique la règle de covariance.
compilateur : programme capable de vérifier puis de traduire un autre programme écrit dans un langage informatique. Avant d'effectuer la traduction, le compilateur vérifie que le programme à traduire respecte la syntaxe et les règles propres au langage.
covariance:: par opposition à contravariance, on dit qu'un langage applique la règle de covariance si, dans le cas de la redéfinition d'une méthode héritée, le type les arguments ou le type du résultat peuvent être remplacé par un type plus spécifique. Par exemple, si la classe POMME hérite de la classe FRUIT, les arguments (ou le résultat) des méthodes redéfinies peuvent passer de FRUIT à POMME. Ce changement de type est valide selon la règle de covariance. Ainsi, la possibilité de redéfinition varie dans le même sens que la relation d'héritage, d'où le nom de covariance. Eiffel applique la règle de covariance car c'est celle qui correspond à l'usage le plus utile.
D
E
effet de bord : se dit d'une routine qui modifie, au sens large et durablement, l'environnement dans lequel elle est appelée. Exemples: modification d'objets visibles par l'environnement appelant, affichage d'un message à l'écran, envoi d'un son, ou écriture sur une imprimante ou dans un fichier.
expression : par opposition à instruction, une expression produit une valeur en retour. Par exemple, on utilise une expression à droite du signe d'affectation. La constante True est une expression. La constante 5 est aussi une expression. Le calcul i+1 également. Sans que cela devienne un dogme, les bonne habitudes de programmation incite à ne pas faire d'effets de bord durant l'exécution des expressions. Voir aussi le schéma syntaxique d'une expression.
F
feature : voir primitive.
fonction : une fonction est un ensemble d'instructions réalisant une certaine tâche. Si l'on ne considère pas Current, une fonction prend zéro ou plusieurs paramètres et renvoie toujours un résultat. Une fonction en informatique (et donc en Eiffel) se distingue principalement de la fonction mathématique par le fait qu'en plus de calculer un résultat à partir de paramètres, la fonction Eiffel peut avoir des effets de bord. Voir aussi procédure.
G
H
I
instance : synonyme d'objet. Un objet ou une instance d'une classe donnée.
instruction : par opposition à expression, une instruction ne produit pas de valeur en retour. Pour vraiment servir à quelque chose, une instruction doit provoquer un effet de bord durable. Voir aussi le diagrame syntaxique d'une instruction.
J
K
L
langage : un langage informatique et un langage servant aux interactions avec ou entre les ordinateurs. Un langage de programmation est un langage informatique. Eiffel est un langage de programmation. Il ne faut pas confondre langage et compilateur pour ce langage.
liaison dynamique : sélection lors de l'exécution de la méthode la mieux adaptée au type dynamique de l'objet sur lequel on applique l'opération. La liaison dynamique est un aspect essentiel de la programmation par objets. Pour plus de détails, se reporter à la description détaillée de la liaison dynamique.
M
méthode : est l'équivalent de routine, c'est à dire, soit une fonction soit une procédure. Historiquement, le terme méthode à été introduit pour insister sur le fait qu'il s'agit d'un calcul propre à une certaine catégorie d'objet (i.e. une procédure ou une fonction avec un objet courant, Current).
N
O
P
patron de conception : ou Design Pattern en anglais. Solution ou architecture logicielle pour un problème connu. Le catalogue des patrons de conception du Gang of Four [GoF 1995] possède sa version pour Eiffel [JMT 1999]. Voir aussi les classes ITERATOR et VISITOR.
pile : ou stack en anglais. Structure de donnée utilisée avec la stratégie premier arrivé - premier sorti (en anglais, FIFO, First In First Out). Pour l'exécution d'un programme, une pile est utilisée pour mémoriser les différents appels de méthodes en cours. La pile contient en fait les addresses de la mémoire permettant de revenir dans le contexte de l'appel à la fin de l'exécution de chaque méthode. Cette pile est également utilisée pour allouer la mémoire associée aux variables locales. Notons que la gestion mémoire sous la forme d'une pile est extrêmement performante. En particulier, le temps pour l'allocation de l'espace mémoire associé aux variables locales, même si elles sont nombreuses, est pratiquement négligeable (voir aussi tas).
prédiction de type : bla bla bla ...
primitive : ou aussi feature en anglais, primitive sert à désigner globalement soit un attribut, soit une fonction , ou encore une procédure. Par conséquent, primitive (ou feature) peut aussi désigner une méthode.
procédure : une procédure est un ensemble d'instructions réalisant une certaine tâche. Si l'on ne tient pas compte de Current, une procédure prend zéro ou plusieurs paramètres et ne renvoie pas de résultat. Voir aussi fonction.
Q
R
routine : routine est un raccourcit pour dire procédure ou fonction. Ainsi, dire routine équivaut à dire méthode.
S
schéma de conception : voir patron de conception.
T
tas: heap en anglais, zone de la mémoire où l'on range les objets.
type ancré : un type défini de manière relative par rapport à un autre type. Les type ancrés sont les types qui font usage du mot clef like.
type dynamique : à un instant donné de l'exécution, la nature exacte de l'objet désigné par une expression ou par une variable. Voir aussi type statique.
type statique : le type de déclaration d'une expression. Par opposition à la notion de type dynamique, aucune information relative à l'exécution n'entre en compte dans la détermination du type statique. Le type statique d'une expression ne dépend pas de la nature exacte de l'objet désigné par l'expression. Le type statique de Current est donné par la classe englobante. Voir aussi type dynamique.
type vivant : bla bla bla...
U
V
variable d'instance : un champ variable d'un objet particulier. Ce champ peut être soit lu ou écrit. Dire variable d'instance est simplement une autre façon de dire attribut modifiable.
variable locale : se dit d'une variable allouée dans la pile pour la durée de l'exécution d'une méthode. En Eiffel, comme toutes les autres variables, les variables locales sont initialisée automatiquement. Voir aussi le mot clef local des diagrammes syntaxiques.





