Modula-3

Modula-3

M3Logo.gif

paradigma = multiparadigma: imperativo, estructurado, modular
Información general
Apareció en Años 1980
Diseñado por DEC y Olivetti
Tipo de dato fuerte, estático
Implementaciones CM3, PM3, EZM3, HM3
Influido por Pascal, ALGOL, Modula-2
Ha influido a Java, Python, Caml
[ editar datos en Wikidata]

Modula-3 es un lenguaje de programación imperativo, estructurado y modular, concebido como el sucesor de Modula-2.

Las principales características del lenguaje son su simplicidad y la seguridad, además de conservar la potencia de los lenguajes de programación de sistemas.

Historia

Modula-3 fue diseñado por Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow y Greg Nelson en el DEC Systems Research Center (DEC SRC) y en Olivetti a finales de los 80. Su diseño estuvo muy influido por el lenguaje Modula-2+, que se usaba en el DECSRC en aquel momento, y era el lenguaje en el que estaban escritos los Sistemas Operativos para la máquina VAX DEC Firefly.

El proyecto de Modula-3 comenzó en noviembre del 86, cuando Maurice Wilkes escribió a Niklaus Wirth con ideas para una nueva versión de Modula. Wilkes había estado trabajando para DEC justo antes de ello, y había vuelto a Inglaterra para unirse al Olivetti Research Strategy Board. Wirth ya había comenzado a trabajar con Oberon , pero no tuvo problemas con que el equipo de Wilkes continuara desarrollando usando el nombre de "Modula".

Modula-3 pretendía continuar con la tradición de PASCAL, además de añadir nuevas construcciones para conseguir una programación práctica para el mundo real. En particular, añadía soporte para programación genérica (parecido a las plantillas), multiprogramación, manejo de excepciones, recolección de basura, programación orientada a objetos, principio de ocultación y encapsulamiento de código. El mayor objetivo en el diseño de Modula-3 era crear un lenguaje que implementara las características más importantes de los modernos lenguajes imperativos de un modo simple. Por ello, se omitieron característica complicadas y "peligrosas" como la herencia múltiple y la sobrecarga de operadores.

La definición del lenguaje se completó en agosto del 88, y una versión actualizada salió en enero del 89. Los compiladores de DEC y Olivetti le siguieron enseguida, al igual que las implementaciones de terceros.

Durante los 90, Modula-3 se difundió considerablemente como lenguaje docente, pero nunca fue ampliamente adoptado para usos industriales. También pudo haber contribuido en esto la desaparición de DEC, un partidario clave para Modula-3. En cualquier caso, a pesar de la simplicidad y potencia del lenguaje, parece que hay poca demanda para un lenguaje compilado altamente estructurado e implementado como un lenguaje orientado a objetos restringido. Durante algún tiempo, un compilador de código cerrado (llamado CM3) y un entorno de desarrollo integrado (llamado Reactor) y también una Máquina Virtual de Java eran ofrecidos por Critical Mass Inc., pero dicha compañía cerró en el año 2000.

Actualmente, la única empresa que mantiene a Modula-3 es http://www.opencm3.net/releng están disponibles los candidatos de lanzamiento (a enero de 2010) de una nueva versión con Reactor ahora como CM3IDE. En marzo de 2002, Elego adquirió los repositorios de la última distribución activa de Modula-3, PM3, que hasta entonces estaba siendo mantenida por la École Polytechnique de Montréal.

Other Languages
Deutsch: Modula-3
English: Modula-3
فارسی: ماجولا ۳
italiano: Modula-3
日本語: Modula-3
português: Modula-3
русский: Модула-3
中文: Modula-3