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(頁面存檔備份,存於網際網路檔案館)