Oz语言
编程范型 | 多范式: 逻辑, 函数式, 指令式, 面向对象, 约束, 分布式, 并发 |
---|---|
设计者 | Gert Smolka, his students |
实作者 | Mozart Consortium |
发行时间 | 1991年 |
当前版本 |
|
型态系统 | 动态 |
许可证 | MIT X11[2] |
网站 | mozart |
主要实作产品 | |
莫扎特编程系统 | |
衍生副语言 | |
Oz, Mozart | |
启发语言 | |
Erlang, Lisp, Prolog | |
影响语言 | |
Alice, Scala |
Oz是多范式编程语言,由Université catholique de Louvain的编程系统实验室开发,主要用于计算机编程语言的教学。它还提供相关语言教材《Concepts, Techniques, and Models of Computer Programming》。
Mozart Programming System是 Oz 语言的主要实现,由Mozart Consortium作为开源软件发布。目前Mozart已经被移植到了不同的操作平台,包括Unix, FreeBSD, Linux, Microsoft Windows, 和 Mac OS X。Mozart-Oz项目本身包括运行虚拟机MVM等,请见于Mozart2-GitHub[3]。
语言特性
[编辑]Oz大量借鉴了Haskell,Lisp,Prolog,C,Perl,Java等语言的特性。他包含绝大多数的主要编程范型,包括逻辑,函数式(包括惰性求值和及早求值)、指令式编程、 面向对象、约束编程、分布式以及并发计算等。Oz 的正式语法简单(详见下文提到的书中第 13 章)而实现高效[来源请求]. Oz是一个面向并行编程的语言, 这个名词最开始是由 Erlang language的主要设计者 Joe Armstrong发明。面向并行的编程语言可以让并行变得容易且高效。Oz还支持一个标准的图形界面语言 QTk。
在支持多种编程范式的基础上,Oz 的主要优势来自于支持约束编程和分布式计算。同时受益于模块化设计,Oz 成功得被实现为一种网络透明的分布式计算模型。这种模型使得使用 Oz 编写开放的、可容错的应用变得简单。而在约束编程方面,Oz 引入了“计算空间(computation space)”的概念,从而使得用户定义的搜索和部署策略与约束领域相正交。
引用
[编辑]- ^ Mozart2 version 2.0.1 Latest. 2018年9月5日 [2023年5月25日].
- ^ Mozart Oz License Info. 2014-01-16 [2014-01-16]. (原始内容存档于2014-01-03).
- ^ Mozart2-GitHub(页面存档备份,存于互联网档案馆)