Abstract

Oz is a programming language designed to support multiple programming paradigms in a clean factored way that is easy to program despite its broad coverage. It started in 1991 as a collaborative effort by the DFKI (Germany) and SICS (Sweden) and led to an influential system, Mozart, that was released in 1999 and widely used in the 2000s for practical applications and education. We give the history of Oz as it developed from its origins in logic programming, starting with Prolog, followed by concurrent logic programming and constraint logic programming, and leading to its two direct precursors, the concurrent constraint model and the Andorra Kernel Language (AKL). We give the lessons learned from the Oz effort including successes and failures and we explain the principles underlying the Oz design. Oz is defined through a kernel language, which is a formal model similar to a foundational calculus, but that is designed to be directly useful to the programmer. The kernel language is organized in a layered structure, which makes it straightforward to write programs that use different paradigms in different parts. Oz is a key enabler for the book Concepts, Techniques, and Models of Computer Programming (MIT Press, 2004). Based on the book and the implementation, Oz has been used successfully in university-level programming courses starting from 2001 to the present day.

Highlights

  • IntroductionThe Oz programming language is designed to support different programming paradigms with equal ease

  • The Oz programming language is designed to support different programming paradigms with equal ease. This vision was conceived in the early 1990s, when a research community was created around programming languages based on concurrent constraint programming, first in Swedish and German national projects, and combined in the ACCLAIM European research project which took place from 1992 to 1995

  • Andorra Kernel Language (AKL) was developed by Sverker Janson and Seif Haridi at KTH (Royal Institute of Technology in Stockholm) and SICS (Swedish Institute of Computer Science), Oz 1 was developed by Gert Smolka at Saarland University and DFKI (German Research Center for Artificial Intelligence), and LIFE was developed by Hassan Aït-Kaci at Digital PRL (Paris Research Laboratory)

Read more

Summary

Introduction

The Oz programming language is designed to support different programming paradigms with equal ease This vision was conceived in the early 1990s, when a research community was created around programming languages based on concurrent constraint programming, first in Swedish and German national projects, and combined in the ACCLAIM European research project which took place from 1992 to 1995. From the beginning, this community was convinced that all large programs need to use more than one paradigm, and that concurrent constraint programming was a suitable foundation to build a multiparadigm system. Oz tries to attack this problem by a coherent design of a language that combines the programming abstractions of various paradigms in a clean and simple way

Objectives
Methods
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call