Oz (programming language)

From Wikipedia, the free encyclopedia

Oz
Paradigm: multi-paradigm: logic, functional, imperative, object-oriented, constraint, distributed, concurrent
Appeared in: 1991
Designed by: Gert Smolka & his students
Developer: Mozart Consortium
Major implementations: Mozart Programming System
Influenced by: Prolog

Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Saarland University.

Oz was first designed by Gert Smolka and his students in 1991. In 1996 the development of Oz continued in cooperation with the research group of Seif Haridi at the Swedish Institute of Computer Science. Since 1999, Oz has been continually developed by an international group, the Mozart Consortium, which originally consisted of Saarland University, the Swedish Institute of Computer Science, and the Université catholique de Louvain. In 2005, the responsibility for managing Mozart development was transferred to a core group, the Mozart Board, with the express purpose of opening Mozart development to a larger community.

Oz has a high-quality implementation, the Mozart Programming System, which is released with an Open Source license by the Mozart Consortium. Mozart has been ported to different flavors of Unix, FreeBSD, Linux, Microsoft Windows, and Mac OS X.

Contents

[edit] Language features

Oz contains in a simple and well-factored way most of the concepts of the major programming paradigms, including logic, functional (both lazy and eager), imperative, object-oriented, constraint, distributed, and concurrent programming. Oz has both a simple formal semantics (see chapter 13 of the book mentioned below) and an efficient implementation, the Mozart Programming System (see below). Oz is a concurrency-oriented language, as the term was introduced by Joe Armstrong, the main designer of the Erlang language. A concurrency-oriented language makes concurrency both easy to use and efficient.

In addition to multi-paradigm programming, the major strengths of Oz are in constraint programming and distributed programming. Because of its factored design, Oz is able to successfully implement a network-transparent distributed programming model. This model makes it easy to program open, fault-tolerant applications within the language. For constraint programming, Oz introduces the idea of "computation spaces"; these allow user-defined search and distribution strategies orthogonal to the constraint domain.

[edit] References

[edit] See also

  • Alice, the concurrent functional constraint programming language from Saarland University

[edit] External links