Aviva Directory » Computers & Internet » Programming » Modula

The focus of this guide is on the discontinued Modula programming language, as well as its successors, currently known as Modula-2 and Modula-3.

Modula was first developed and implemented by Niklaus Wirth on a PDP-11 in the early 1970s. Modula was a descendant of Pascal, which had also been designed by Wirth. Soon after Modula was released in 1975, Wirth discontinued the language, focusing his efforts on Modula-2, developed as a successor language to Modula.

Modula-2 was developed by Wirth at the Swiss Federal Institute of Technology in Zurich, Switzerland between 1977 and 1985. Wirth viewed Modula-2 as a successor to his earlier languages, Pascal and Modula, rather than as a version of Modula. Besides Pascal and Modula, its design was also influenced by the Mesa programming language, which was itself influenced by ALGOL.

Modula-2 was intended to serve as the sole programming language for the operating system and application software for the DISER Lilith workstation computer, created by Wirth.

Still actively maintained and developed, Modula-2 is a general-purpose procedural language, capable of systems programming but with broader applications. Its syntax is more similar to Pascal than to Modula, although some of Pascal's elements and syntactic ambiguities are absent, and the module concept is added, along with direct support for multiprogramming. The language can be compiled on a single pass, and is much faster than earlier multi-pass compilers.

Modula-2 programs are made up of modules, each of which consists of two parts, a definition module and an implementation module.

It has been reported that all of the Soviet and Russian satellites are programmed in Modula-2.

Several compilers have been developed for Modula-2, including ACK, ADW Modula-2, Aglet Modula-2, Cambridge Modula-2, FST, Gardens Point Modula-2, GNU Modula-2, M2Amiga, M2M, MacMETH, Mod51, Megamax Modula-2, Modula-2 R10, ModulaWare, Native XDS-x86, ORCA/Modula-2, p1 Modula-2, MOCKA, TDI Modula-2, TERRA M2VMS, Ulm Modula-2 System, and XDS-C. Turbo Modula-2 was both a compiler and an integrated development environment (IDE) for the Modula-2 language running on MS-DOS.

Although it was released in the 1980s, Modula-3 has not been widely adopted in industry. The language was designed to be a successor to an upgraded version of Modula-2 called Modula-2+. Developed by a team from Digital Equipment Corporation's System Research Center and Olivetti Software Technology's Research Center, its chief features are simplicity and safety, but without sacrificing the power of a systems programming language. Modula-3 adds support for generic programming, multithreading, exception handling, garbage collection, and object-oriented programming while omitting potentially insecure features like multiple inheritances and operator overloading.

Besides DEC-SRC M3, the original, compilers available for Modula-3 include Critical Mass CM3, CM3, EzM3, HM3, and Polytechnique Montreal Modula-3 PM3.

Modula-3 is maintained by Elego Software Solutions.

Of the three related languages, Modula, Modula-2, and Modula-3, Modula-2 is the one most actively developed and in use. Either of these three languages is appropriate for this category, as are any IDEs, editors, dialects, implementations, compilers, or tools designed to facilitate programming, along with any user groups, forums, tutorials, or guides.



Recommended Resources

Search for Modula on Google, Bing, or Yahoo!