Informatique et Sciences du Numérique au lycée : un pas plus loin/LANGAGES/Éléments de syntaxe et de sémantique/Structuration des programmes/Module en programmation

Un livre de Wikilivres.

Lors de l'écriture d'un programme, il est interessant de découper le programme en composantes regroupant un seul aspect du traitement. Cela conduit à classifier les opérations suivant ces traitements. Cette classification peut se faire à l'aide de la notion de module.

Un module est une structure syntaxique qui regroupe des déclarations et des définitions qui peuvent être utilisées par tout programme en suivant une convention de nommage fournie par le langage. Un module définit donc un espace de noms (***environnement). La notion de module est offerte par beaucoup de langages de programmation sous des formes assez variées. Certains langages proposent des modules compilables séparément ce qui permet de construire des bibliothèques logicielles. Certains langages typés attribuent un type de module au module lui-même, qui encode les noms et types des éléments du module ce qui permet de vérifier l'utilisation correcte de ces éléments. Certains de ces langages proposent de plus la notion ***d'interface de module qui implante un mécanisme d'**encapsulation. Une interface d'un module est construite à partir du type de ce module en enlevant les noms et les types des éléments que l'on souhaite masquer et en ne fournissant que les noms offerts à l'exportation. Un module peut être associé à plusieurs interfaces ce qui permet d'ajuster l'encapsulation ajustable aux besoins. Réciproquement, une même interface peut être associée à des modules de contenus différents ce qui permet de remplacer une implantation d'operation par une autre de même type.