Módulo (programación)

Un módulo designa originalmente un archivo de código de programación o un archivo de biblioteca estático o dinámico.

Para usar la imagen de la programación de objetos, un módulo es una instancia única que no usa herencia y no contiene ningún módulo hijo. Cada módulo puede exportar o importar ciertos símbolos como variables, funciones o clases. Los módulos se pueden agrupar en un paquete jerárquico opcional (espacio de nombres).

En la historia de la programación, la programación modular sucedió a la programación procedimental y dio origen a la programación orientada a objetos .

Cuando hablamos de programación modular estamos hablando de C que utilizó, en primer lugar, este principio para dividir la compilación del proyecto. En este caso, un módulo se identifica mediante un archivo de declaración (encabezados o prototipos) y un archivo de descripción (definición o código). Ya no es necesario volver a compilar un programa completo cuando solo se modifican unos pocos módulos. Las funciones y variables declaradas en el archivo de declaración son públicas y pueden ser utilizadas por cualquier otro módulo, esta es la interfaz del módulo. Las funciones y variables declaradas en el archivo de descripción son privadas y solo pueden ser utilizadas por este módulo en particular.

En Java , el término módulo no se usa generalmente, pero algunos compiladores le permiten declarar varias clases sucesivas (sin anidar) en el mismo archivo. Entonces podemos considerar un archivo de código Java como un módulo que contiene un conjunto de clases.

En Python , cada archivo se puede considerar como un módulo siempre que el archivo importante esté en el mismo directorio que el módulo, de lo contrario será imposible importarlo.

Los lenguajes Modula y Ada son típicamente modulares con instrucciones para administrar módulos. El lenguaje C / C ++ es modular pero las instrucciones para administrar los módulos se encuentran en un lenguaje de preprocesamiento (dedicado al preprocesador). El lenguaje Objective Caml , que se basa fundamentalmente en la programación funcional y modular , ofrece un sistema muy potente de módulos recursivos y configurables que permite dotar al código de una gran genérica .

Notas y referencias

  1. Programación de objetos en Java: cursos y ejercicios corregidos , Michel Divay, Dunod, 2006