Modula-2
# Modula-2

Modula-2 es un lenguaje de programación cuyo autor es Niklaus Wirth, autor también del lenguaje Pascal.

Como novedad respecto a este último lenguaje, introduce el concepto de módulo, y de encapsulación. Del código contenido en un módulo, solo se facilita una interfaz pública denominada módulo de definición, permaneciendo el resto oculto (encapsulado) para un desarrollador ajeno, lo que facilita el mantenimiento de dichas estructuras de programación a la vez que imposibilita la modificación de las mismas a cualquiera que no posea el código de su módulo de implementación.

Este concepto de módulo constituye el antecedente de las clases u objetos que se observan en el concepto moderno de Programación Orientada a Objetos (POO); sin embargo, la incapacidad de declarar múltiples instancias de los módulos, así como la ausencia de todo tipo de herencia, impiden afirmar que Modula-2 sea un lenguaje orientado a objetos propiamente dicho.

Modula-2 se utiliza principalmente en las universidades por su excelente adaptación a la enseñanza de lenguajes estructurados, pero en el ámbito laboral su difusión ha sido escasa frente al predominio de C, lo que ha contribuido a crear un distanciamiento entre universidad y mercado laboral.

Existen compiladores de Modula-2 como Mocka o GNU Modula-2 (para GNU/Linux y resto de sistemas soportados por GCC), FST (para MS-DOS) o Native XDS (para Windows) entre otros.

## Referencias bibliográficas

* Cerrada Somolinos, José Antonio (5 de 2000). Fundamentos de programación con Modula 2 (1 edición). Editorial Centro de Estudios Ramón Areces, S.A. p. 486. ISBN 978-84-8004-415-8. La referencia utiliza el parámetro obsoleto |mes= (ayuda)
* Schildt, Herbert (3 de 1988). Modula 2. Programación avanzada. Tr.: Hernández Yáñez, Luis. McGraw-Hill / Interamericana de España, S.A. p. 392. ISBN 978-84-7615-200-3. La referencia utiliza el parámetro obsoleto |mes= (ayuda)
* Fontaine, A. B. (10 de 1987). Modula 2 : Lenguaje compilador para el IBM-PC. tr.: Cacho Herrero, José María (1 edición). Masson, S.A. p. 160. ISBN 978-84-311-0428-3.
* Galán Pascual, Carlos (7 de 1987). Modula 2. Paraninfo Cengage Learning. p. 224. ISBN 978-84-283-1550-0. La referencia utiliza el parámetro obsoleto |mes= (ayuda)
* Schildt, Herbert (4 de 1988). Modula-2 a su alcance. tr.: Ortega Ortiz, Manuel (1 edición). McGraw-Hill / Interamericana de España, S.A. p. 400. ISBN 978-84-7615-208-9. La referencia utiliza el parámetro obsoleto |mes= (ayuda)
* La programación imperativa desde Modula-2 (1 edición). Proyectos y Producciones Editoriales Cyan, S.L. 4 de 1997. p. 172. ISBN 978-84-8198-211-4. La referencia utiliza el parámetro obsoleto |mes= (ayuda)
