submit urlsubmit rss feedadd directory

article

Modula-3 is a now little-used programming language conceived as a successor to an upgraded version of Modula-2. It was designed by Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow and Greg Nelson at the DEC Systems Research Center and Olivetti in the late 1980s. Its design was heavily influenced by work on the Modula-2+ language in use at DECSRC at the time, which was the language in which the operating system for the DEC Firefly multiprocessor VAX workstation was written. Modula-3's main features are simplicity and safety while preserving the power of a systems-programming language. Modula-3 aimed to continue the Pascal tradition of type safety, while introducing new constructs for practical real-world programming. In particular Modula-3 added support for generic programming (similar to templates), multithreading, exception handling, garbage collection, object-oriented programming, partial revelation and encapsulation of unsafe code. The design goal of Modula-3 was a language that implements the most important features of modern imperative languages in quite basic forms. Thus dangerous and complicating features like multiple inheritance and operator overloading were omitted.

The Modula-3 project started in November 1986 when Maurice Wilkes wrote to Niklaus Wirth with some ideas for a new version of Modula. Wilkes had been working at DEC just prior to this point, and had returned to England and joined Olivetti's Research Strategy Board. Wirth had already moved on to Oberon, but had no problems with the Wilkes' team continuing development under the Modula name. The language definition was completed in August 1988, and an updated version in January 1989. Compilers from DEC and Olivetti soon followed, and 3rd party implementations after that.

During the 1990s, Modula-3 gained considerable currency as a teaching language, but it was never widely adopted for industrial use. Contributing to this may have been the demise of DEC, a key Modula-3 supporter. In any case, in spite of Modula-3's simplicity and power, it appears that there was little demand for a highly structured compiled language with restricted implementation of object-oriented programming. For a time, a closed source compiler and integrated development environment were offered by Critical Mass, Inc., but that company ceased active operations in 2000. Modula-3 is now no longer taught in universities, and all its textbooks are out of print. Essentially the only corporate supporter of Modula-3 is elego Software Solutions GmbH, which inherited the complete sources from Critical Mass and has since made several releases of the system in source and binary form (the development system has not, however, been released). In March 2002 elegosoft also took over the repository of the last other active Modula-3 distribution, PM3, till then maintained at the École Polytechnique de Montréal.

More on [ Modula-3 ]


directory of related categories

 

 
 
directory of related topics

Comparison and Review :: Languages
Object Oriented :: Compiled
Object Oriented :: Garbage Collected
Class based :: Object Oriented
Open Source :: Languages
Wirth :: Languages

 
Modula-3 RSS feed
Modula-3 - Twitter Search

"Syntax matters. Otherwise the world would be programming in Modula-3 (or Oberon?) or Lisp." -- Russ Cox #golang http://bit.ly/88uKuG
ajstarks (Anthony Starks) Sun, 13 Dec 2009 14:11:06 -0000
"Syntax matters. Otherwise the world would be programming in Modula-3 (or Oberon?) or Lisp." -- Russ Cox #golang http://bit.ly/88uKuG

 
Subscribe to Modula-3 RSS feed

directory of related sites

500 m3gtk - Modula-3 binding to GTK Toolkit.

Modula-3 FAQ - Modula-3 Frequently asked questions and answers.

500 Modula-3 Home Page - Provides FAQs, a newsletter, a listing of implementations, publications, and utilities.

500 Modula-3 Reference and Tutorial - A reference and tutorial on the Modula-3 language and programming system.
Meta Description: [ Modula 3 Reference & Tutorial ]

Modula-3 Resources Page - Modula-3 related links.

Object-Oriented Language: Modula-3 - Offers a listing of mailing lists, resources, archives, links to FAQs, and past conferences.
Meta Description: [ Cetus Links: 16604 Links on Objects and Components / Modula-3 ]

Persistent Modula-3 - An extension of the Modula-3 programming language that supports orthogonal persistence and transactions.

Modula-3 related videos

 

HOMEADVERTISINGABOUT US

articlesartsbusinesscomputersgameshealthhospitalshomekids & teensnewsmobilephysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld


Submit a Site About Become an Editor